我正在尝试使用R中的glmnet构建简单的多类逻辑回归模型。但是,当我尝试预测测试数据并获取列联表时,出现错误。下面是一个示例会话:
> mat = matrix(1:100,nrow=10)
> test = matrix(1:50,nrow=5)
> classes <- as.factor(11:20)
> model <- glmnet(mat, classes, family="multinomial", alpha=1)
> pred <- predict(model, test)
> table(pred, as.factor(11:15))
Error in table(pred, as.factor(11:15)) :
all arguments must have the same length
任何帮助都将不胜感激。我是R语言的初学者。
谢谢。
?predict.glmnet
,特别注意参数type
和s
。 - jorantype
参数需要一个字符作为输入,例如type = "class"
. 其次,s
参数已经有明确的文档说明,并且对于你所尝试的操作是必需的。甚至还有一个例子来说明它的用法。 - joranglmnet::glmnet
与stats::glm
至少有三个不同之处(相当无意义):x必须是矩阵(在数据框上会出错),类型必须是字符串(不像glm),并且predict.glmnet
返回一个数组,除非您给它一个特定的s值。要给出的s值根本不明显。我刚刚独立迁移了一些glm代码,并遇到了这些相同的烦恼。 - smci