错误:意外'}' in:" }" R中的非参数与OLS

时间:2014-11-30 06:24:03

标签: r statistics

我是R的新手(曾经使用STATA),似乎有一个错误:意外'}':“}”。我似乎无法找到问题。我正在将非参数方法与池化OLS进行比较,以查看哪些方法在刚刚发布的公共数据集中表现更好。我知道我已经分配了一个小循环和小型n.train。任何帮助都会很棒。非常感激。

M <- 10
n.train <-90
n <- nrow(smokedatasample)

write(c("linear","ll"),file="psedata.xlsx",ncol=2)

train <- smokedatasample

sample.OLS <- lm(model.formula.birth,data=smokedatasample, x=TRUE,y=TRUE)
np.smoke.reg <- npreg(np.formula,data=smokedatasample,regtype="ll",nmulti=1)

pse.lm <- numeric()
pse.ll <- numeric()

for(m in 1:M) {

smoke.shuffle <- smokedatasample[sample(1:n,replace=FALSE),]

train <- smoke.shuffle[1:n.train,]
eval <- smoke.shuffle[(n.train+1):n,]

shuffle.sample.OLS <- lm(model.formula.birth, data=train)

yhat.OLS <- predict(shuffle.sample.OLS, newdata=eval)

pse.lm[m] <- mean((eval$dbirwt-yhat.OLS)^2)

shuffle.np.smoke.reg <- npreg(np.formula,data=train, regtype=np.smoke.reg$bws$regtype, 
                              ckertype=np.smoke.reg$bws$ckertype, 
                              ckerorder=np.smoke.reg$bws$ckerorder, 
                              ukertype=np.smoke.reg$bws$ukertype, 
                              okertype=np.smoke.reg$bws$okertype, 
                              bws=np.smoke.reg$bws$bw)

yhat.np <- predict(shuffle.np.smoke.reg, newdata=eval)

pse.ll[m] <- mean((eval$dbirwt-yhat.np)^2)

write(c(pse.lm[m],pse.ll[m], file= "psedata.xlsx" , ncol=2 ,append=TRUE)

}

1 个答案:

答案 0 :(得分:1)

您在}之前的最后一行忘记了一个方括号。

write(c(pse.lm[m],pse.ll[m]), file= "psedata.xlsx" , ncol=2 ,append=TRUE)

而不是

write(c(pse.lm[m],pse.ll[m], file= "psedata.xlsx" , ncol=2 ,append=TRUE)