Я хочу повысить скорость некоторых моих R-кодов с помощью Rcpp.Тем не менее, мои знания C ++ очень мало.Итак, я проверил документацию, предоставленную Rcpp, и другие документы, предоставленные на сайте Дирка Эддельбюттеля.Прочитав все это, я попытался выполнить простой цикл, который написал в R. К сожалению, я не смог этого сделать.Вот функция R:
Inverse Wishart
beta = matrix(rnorm(15),ncol=3)
a = rnorm(3)
InW = function(beta,a) {
n = nrow(beta)
p = ncol(beta)
I = diag(rep(1,times = p))
H = matrix(0,nrow=p,ncol=p)
for(i in 1:n){
subBi = beta[i,]
H = H + tcrossprod(a - subBi)
}
H = H + p * I
T = t(chol(chol2inv(chol(H))))
S = 0
for(i in 1:(n+p)){
u <- rnorm(p)
S = S + tcrossprod(T %*% u)
}
D = chol2inv(chol((S)))
ans = list(Dinv = S,D=D)
}
Я искренне признателен, если кто-то может мне помочь, так как это послужит отправной точкой в изучении Rcpp.