[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