我有一个包含大约 11,500 行和 15 个因子的数据集。我只需要估算其中 3 个因子的值,其中只有 2 个因子具有大量缺失值。我一直在尝试使用鼠标来创建估算数据集,并且我正在使用以下代码:
dataset<-read.csv("filename.csv",header=TRUE)
model<-success~1+course+medium+ethnicity+gender+age+enrollment+HSGPA+GPA+Pell+ethnicity*medium
library(mice)
vempty<-c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
v12<-c(0,0,0,0,0,0,0,1,1,1,1,0,1,1,1)
v13<-c(0,0,0,0,0,0,0,1,1,1,1,1,0,1,1)
v14<-c(0,0,0,0,0,0,0,1,1,1,1,1,1,0,1)
list<-list(vempty,vempty,vempty,vempty,vempty,vempty,vempty,vempty,vempty,vempty,vempty,v12,v13,v14,vempty)
predmatrix<-do.call(rbind,list)
MIdataset<-mice(dataset,m=2,predictorMatrix=predmatrix)
MIoutput<- pool(glm(model, data=MIdataset, family=binomial))
在此代码之后,我收到错误消息:
as.data.frame.default(data) 中的错误:无法将“mids”类强制转换为 data.frame
我完全不知道这意味着什么。只需删除丢失的数据并使用常规 glm,我就可以轻松进行相同的分析。我还想使用 lmer 对估算数据集做一个多级逻辑模型(这是我使用 glm 后的下一步),所以如果我做错了什么也会影响下一步,那将也很高兴知道。我试图在互联网上搜索此错误,但我无处可去。我只是真的在学习 R,所以我对环境还不太熟悉。
谢谢你的时间!