[R]  Need some help in R programming code
    saikat sarkar 
    dipa_sanyal at yahoo.com
       
    Sat Nov 22 10:55:13 CET 2008
    
    
  
Dear R guru,
I am Saikat Sarkar working as a researcher of Economics in Tampere
University, Finland. I am trying to estimate some Garch related tests with
Bayesian analysis by R programme.
I am not good in R but trying to survive.
Anyway I have the coding but not working properly. I have tried to find the
problem but failed. I am writing to all R gurus to help me out.
Could you please look at the problem and help me if you can.
Thanking you
saikat
Could you please look at the problem below:
R message is like below:
-------
Error in garch.gjr.d0(param, y, X, Z, iterate = FALSE)$res :
  $ operator is invalid for atomic vectors
plot(Ch.mic,Ch.mic.rep,xlim=c(0,6),ylim=c(0,6))
-----------------------
Coding
--------
res<-garch.gjr.d0(a$estimate,y,X,X,iterate=FALSE)$res
sig2<-garch.gjr.d0(a$estimate,y,X,X,iterate=FALSE)$sig2
test.mic <- function(param,y,X,Z)
{
   n <- length(y)
   res <- garch.gjr.d0(param,y,X,Z,iterate=FALSE)$res
   s2 <- garch.gjr.d0(param,y,X,Z,iterate=FALSE)$sig2
   s<-sqrt(s2)
   r <- res
   u <- r[-1]
   r2<- (r[-n]^2*s2[-n])/s[-1]
   r3<- (r[-n]^3*s2[-n]*s[-n])/s[-1]
   U <- cbind(r[-n],r2,r3)
   U <- cbind(1,U)
   U <- U/matrix(s[-1],nr=nrow(U),nc=ncol(U))
   Fstat<-summary(lm(u~U-1))$fstatistic[1]
   Fstat
}
sim.gjr <- function(par,y,X=0,Z=0)
{
   n <- length(y)
   e<-numeric(n)
   yrep<-numeric(n)
   yrep[1] <- y[1]
   n.dummies.mean <- dim(X)[2]
   if(is.matrix(X)) e[1] <- e[1]-sum(X[1,]*par[9:(8+n.dummies.mean)])
   delta <- par[-(1:(8+n.dummies.mean))]
   s2 <- var(y)
   for(i in 2:n){
     s2 <-
par[5]+par[6]*e[i-1]^2+par[7]*ifelse(e[i-1]<0,1,0)*e[i-1]^2+par[8]*s2+sum(X[i,]*delta)
     e[i] <- rnorm(1,0,sqrt(s2))
     yrep[i]<-par[1]+par[2]*yrep[i-1]+par[3]*s2+par[4]*yrep[i-1]*s2+e[i]
   }
   if(is.matrix(X)) yrep <- yrep + X%*%par[9:(8+n.dummies.mean)]
   yrep
}
yrep <- sim.gjr(a$estimate,y,X,Z)
n.test <- 500
Ch.mic <- Ch.mic.rep <- numeric(n.test)
for(i in 1:n.test){
   simulation <- sample(1:10000,1)
   par <- sims.matrix[simulation,]
   Ch.mic[i] <- test.mic(par,y,X,X)
   yrep <- sim.gjr(par,y,X,X)
   Ch.mic.rep[i] <- test.mic(par,yrep,X,X)
}
 plot(Ch.mic,Ch.mic.rep,xlim=c(0,6),ylim=c(0,6))
 lines(c(0,6),c(0,6)) 
-- 
View this message in context: http://www.nabble.com/Need-some-help-in-R-programming-code-tp20634187p20634187.html
Sent from the R help mailing list archive at Nabble.com.
    
    
More information about the R-help
mailing list