[R] How to simulate a variable Xt=Wit+0.5Wit-1 with Wit~U(0,2)

carpan at sapo.pt carpan at sapo.pt
Mon Jan 24 15:38:43 CET 2011






Dear all

I simulate a panel data:

n <- 10
t <- 5
nt <- n*t
pData <- data.frame(id = rep(paste("JohnDoe", 1:n, sep = "."), each =  
t),time = rep(1981:1985, n))
rho <-0.99#simulate alphai corelated with the xi
print(rho)
alphai <- rnorm(n,mean=0,sd=1)#alphai simulation
x<- as.matrix(rnorm(nt,1))#xi simulation
akro <- kronecker(alphai ,matrix(1,t,1))#kronecker of alphai
cormat<-matrix(c(1,rho,rho,1),nrow=2,ncol=2)#correlation matrix
cormat.chold <- chol(cormat)#choleski transformation of correlation matrix
akrox <- cbind(akro,x)
ax <- akrox%*%cormat.chold
ai <- as.matrix(ax[,1])
pData$alphai<-as.vector(ai)
xcorr <- as.matrix(ax[,2:(1+ncol(x))])
pData$xcorrei<-as.vector(xcorr)
library(plm)
pData<-plm.data(pData, index = c("id", "time"))
pData

But now i need a variable Xt=Wit+0.5Wit-1 with Wit~U(0,2),  the code i  
Try to use is:


for (i in 1:n) {
             p <- i*t
             m <- (i-1)*t+1
        for (j in m:p){
             xt<-arima.sim(n=nt, list(ar=c(0.5)))               }
                 }
Is this the correct  way to simulate the AR(1), without the assumption  
Wit~U(0,2)? How i simulate the variable with the assumption  
Wit~U(0,2), and put it in my dataframe correctly?
Comments and tips are welcome,


regards

Carlos Brás
Statistics Portugal-INE



More information about the R-help mailing list