我有一个csv文件,我想在其中使用多项回归模型。我的因变量是'主题' (csv中的第一列)我有200个因子(名为X0 ...... X199)。 我试过了:
require(nnet)
mydata <- read.csv('data/data.csv')
mydata$topic <- factor(mydata$topic)
colnames(mydata)
结果是
[1] "topic" "X0" "X1" "X2" "X3" "X4" "X5" ....
现在我想要一个多项逻辑回归模型:
x = paste('X0', paste('+',paste('X', 1:199, sep=''), sep='', collapse=" "))
vars = paste('topic ~ ', x ,sep='', collapse=" ")
print(vars)
输出:
topic ~ X0 +X1 +X2 +X3 +X4 +X5 +X6 +X7 +X8 +X9 +....
拟合多项模型:
test <- multinom(vars, data=mydata, MaxNWts=2000)
输出:
....
iter 80 value 23059.928035
iter 90 value 23055.453099
iter 100 value 23051.468665
final value 23051.468665
stopped after 100 iterations
现在,当我要求提供模型摘要时:
summary(test)
我收到此错误:
Error in eval(expr, envir, enclos) : object 'topic' not found
但是,当我输入确切的变量而不是将它们作为字符串传递(上面的变量vars
)时,它可以工作。即。
test <- multinom('topic ~ X0 + X1 + X2', data=mydata, MaxNWts=2000)
我的vars
包含所有因素和主题有什么问题?