[R] Gibbs sampler...did it work?

ekwaters ekwaters at unimelb.edu.au
Mon Jan 26 00:25:08 CET 2009


I am writing a Gibbs sampler. I think it is outputting some of what I want,
in that I am getting vector of several thousand values (but not 10,000) in a
txt file at the end.

My question is, is the error message (see below) telling me that it can't
output 10,000 values (draws) because of a limitation in my memory, file
size, shape etc, or that there is an error in the sampler itself?

> s2eg2=1/rgamma(mg2,(12/2),.5*t(residuals(lm(yg[,1]~xg-1))%*%residuals(lm(yg[,1]~xg-1))))
> for(i in 1:mg2){
+ s2yg[i,]=parsy+t(rnorm(1,mean=0,sd=s2ygscale[i])%*%chol(s2eg2[i]*xgtxgi))
+ write(c(s2yg[i,],s2eg2[i]),
+ file="/media/DataTravelerMini/KINGSTON/Honours/R/IPR/s2yg2.txt", append=T,
ncolumns=1)
+ if(i%%50==0){print(c(s2yg[i,],s2eg2[i]))}}

I GET A BUNCH OF NUMBERS PRINTED HERE, THE OUTPUTTED VALUES WHICH ALSO
APPEAR IN A TEXT FILE.  I HIT ABOUT 2000 VALUES, THEN I GET THIS MESSAGE:

Error in s2yg[i, ] = parsy + t(rnorm(1, mean = 0, sd = s2ygscale[i]) %*%  :
        subscript out of bounds


Ned


-- 
View this message in context: http://www.nabble.com/Gibbs-sampler...did-it-work--tp21658246p21658246.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list