plm交叉验证运行时错误

时间:2016-08-09 21:16:27

标签: r runtime-error prediction cross-validation plm

我正在尝试交叉验证面板数据分析,但我在预测功能方面遇到了问题。下面的代码是出现问题的CV函数的一部分。当我尝试运行函数的这一部分时,我会在代码描述的末尾标记错误消息。

mutex

我已经看过预测函数,X和beta术语是相互矛盾的。有没有人建议我能做些什么来克服这个问题?

compare <- data.frame()
train.model <- list()

  for (f in 1:numoffolds)
{
train.model[[f]] <- plm(logit(II1)~.,data=select(filter(train, cv != f),-Incomegroup, -cv), 
                       model="within", effect="twoways", index=c("Year", "Country") )


 II1.p <- predict(train.model[[f]], newdata=select(filter(train, cv == f),-Country, -Year, -cv, -Incomegroup), type="response")
II1 <- filter(train, cv == f)$II1
compare <- rbind(compare, data.frame(II1.p = II1.p, II1 = II1))


}


Error in crossprod(beta, t(X)) : non-conformable arguments
Called from: crossprod(beta, t(X))

我一直在考虑采用其他方法,例如基于树的回归,但我想使用function (object, newdata = NULL, ...) { tt <- terms(object) if (is.null(newdata)) { result <- fitted(object, ...) } else { Terms <- delete.response(tt) m <- model.frame(Terms, newdata) X <- model.matrix(Terms, m) beta <- coef(object) result <- as.numeric(crossprod(beta, t(X))) } result 来提出具体观点。任何帮助评论和/或代码将不胜感激。

0 个答案:

没有答案