https://github.com/cran/mcmcse
Tip revision: c7bc2c7d2e4c00311389025ff9421245488438bc authored by Dootika Vats on 09 September 2021, 06:40:02 UTC
version 1.5-0
version 1.5-0
Tip revision: c7bc2c7
mcseqbm.cpp
#include <iostream>
#include <RcppArmadillo.h>
using namespace Rcpp;
// using namespace arma;
arma::uword counting_bm(arma::vec var_vector, double var_number) {
arma::uword count = 0;
for(arma::uword i = 0; i<var_vector.size(); i++) {
if(var_vector(i) <= var_number)
count++;
}
return(count);
}
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
double mcseqbm(const arma::vec& x, double b, double xi_hat) {
arma::uword n = x.n_elem;
double a = floor(n/b);
arma::vec y(a);
for(arma::uword k=1; k<=a; k++) {
y(k-1) = counting_bm( x(arma::span(((k - 1) * b ),(k * b - 1))), xi_hat);
}
y = y/b;
double mu_hat = mean(y);
double var_hat = b * sum( pow(y - mu_hat, 2.0)) / (a - 1.0);
return(var_hat);
}