var1<-sample(c('A', 'B', 'C'), replace = T, size=100)
var2<-sample(c(0,1), size=100, replace=T)
var3<-rnorm(100, mean=10, sd=2)
df<-data.frame(var1, var2, var3)
library(nnet)
m1<-multinom(var1~var2, data=df)
m2<-multinom(var1~var3, data=df)
m3<-multinom(var1~var2+var3, data=df)
#install.packages('DescTools')
library(DescTools)
PseudoR2(m1, which='all')
我得到这个错误代码:
as.data.frame.default中的错误(数据,可选=TRUE(:不能强制类";函数"到数据帧此外:警告消息:在伪R2(m1,其="all"(中:找不到用于评估PseudoR2 null模型的multinom对象的模型或数据元素。将使用'df'的新评估来适应null模型。确保自初始调用以来对象没有更改,或者尝试运行为"model=TRUE"的multinom
但是,m1
是multinom
对象,我认为它的格式都很好,不是吗?
您需要设置model=T
:
var1<-sample(c('A', 'B', 'C'), replace = T, size=100)
var2<-sample(c(0,1), size=100, replace=T)
var3<-rnorm(100, mean=10, sd=2)
df<-data.frame(var1, var2, var3)
library(nnet)
m1<-multinom(var1~var2, data=df, model=T)
m2<-multinom(var1~var3, data=df)
m3<-multinom(var1~var2+var3, data=df)
#install.packages('DescTools')
library(DescTools)
PseudoR2(m1, which='all')
PseudoR2(m1, which='all')
McFadden McFaddenAdj CoxSnell Nagelkerke AldrichNelson VeallZimmermann Efron McKelveyZavoina Tjur
0.00623116 -0.03030106 0.01355262 0.01526082 NA NA NA NA NA
AIC BIC logLik logLik0 G2
225.62024056 236.04092130 -108.81012028 -109.49238485 1.36452914
>