R 交叉验证:公式中有错误。字符(对象,env=baseenv()):公式无效
我试图做交叉验证,看看5个蘑菇特征中哪一个模型最能预测蘑菇是可食用的还是有毒的。我正在尝试使用R 交叉验证:公式中有错误。字符(对象,env=baseenv()):公式无效,r,formula,cross-validation,R,Formula,Cross Validation,我试图做交叉验证,看看5个蘑菇特征中哪一个模型最能预测蘑菇是可食用的还是有毒的。我正在尝试使用allCombs函数循环所有可能的组合以形成蘑菇状特征 这是我得到的错误: Error in formula.character(object, env = baseenv()) : invalid formula c("CapShape", "0", "0", "0", "0"):
allCombs
函数循环所有可能的组合以形成蘑菇状特征
这是我得到的错误:
Error in formula.character(object, env = baseenv()) :
invalid formula c("CapShape", "0", "0", "0", "0"):
not a call
如果您对我的错误有任何帮助,我们将不胜感激,我的代码如下:
idx <- sample(nrow(mushroom_data), 4062) #50:50 split between sets.
train_data_mushroom <- mushroom_data[idx, ]; test_data_mushroom <- mushroom_data[-idx, ]
#all possible models we want to consider
combs <- allCombs(1:5)
combs <- allCombs(c("CapShape", "CapSurface", "CapColor", "Odor", "Height")) #mushroom features
combs=combs[-1 ,]
combs[is.na(combs)] <- 0
predictiveloglikelihood3 <- rep(NA, nrow(combs))
for (i in 1:nrow(combs)){
paste("Edible ~", paste(combs[i, 1:5], collapse="+"))
current_model <- glm(formula = combs[i, 1:5], data=train_data_mushroom)
sigma <- sqrt(summary(current_model)$dispersion)
ypredict_mean <- predict(current_model, test_data_mushroom)
predictiveloglikelihood3[i] <- sum(dnorm(test_data_mushroom$Edible, ypredict_mean, sigma, log=TRUE))
}
idx glm函数接受公式或x,y(输入,输出)参数。请参阅以下文件: