# [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.

```