楼主: bens220
11881 4

[问答] R做多重插补时遇到问题 [推广有奖]

  • 2关注
  • 0粉丝

已卖:434份资源

硕士生

88%

还不是VIP/贵宾

-

威望
0
论坛币
134 个
通用积分
55.4647
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1054 点
帖子
80
精华
0
在线时间
229 小时
注册时间
2012-11-10
最后登录
2024-2-19

楼主
bens220 在职认证  发表于 2016-10-18 16:48:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我这边有11个指标变量的数据,其中有4个存在部分缺失值,想通过多重插补来完成。目前的问题是:
1-使用mice包的with()函数时,我发现并不合适,因为我的缺失指标基本是独立的,与其他变量之间基本不存在相关关系,那么with()中的formula怎么设置呢?或者不使用with函数可以吗?
2-我强制设置了with中的formula之后,使用pool函数时,显示结果“Error in pool(imps) : The object must have class 'mira'”,请问这是什么原因呢?
我的代码如下:
  1. library(mice)
  2. micedata <- mice(data,m=3)
  3. imps <- with(data,lm(var1~var2))
  4. pooldata <-pool(imps)
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:多重插补 Formula Library object BRARY library Error

回帖推荐

felixzhao123 发表于2楼  查看完整内容

推荐caret包可以进行多重查补,代码是一个简单的例子:

沙发
felixzhao123 发表于 2016-10-20 13:00:12
推荐caret包可以进行多重查补,代码是一个简单的例子:
  1. > iris2 <- iris
  2. > iris2[c(1, 3, 5), 1] <- NA
  3. > library(caret)
  4. Loading required package: lattice
  5. > pp <- preProcess(iris2, method = "bagImpute")
  6. > iris3 <- predict(pp, iris2)
  7. > head(iris2)
  8.   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
  9. 1           NA         3.5          1.4         0.2  setosa
  10. 2          4.9         3.0          1.4         0.2  setosa
  11. 3           NA         3.2          1.3         0.2  setosa
  12. 4          4.6         3.1          1.5         0.2  setosa
  13. 5           NA         3.6          1.4         0.2  setosa
  14. 6          5.4         3.9          1.7         0.4  setosa
  15. > head(iris3)
  16.   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
  17. 1     5.051558         3.5          1.4         0.2  setosa
  18. 2     4.900000         3.0          1.4         0.2  setosa
  19. 3     4.839312         3.2          1.3         0.2  setosa
  20. 4     4.600000         3.1          1.5         0.2  setosa
  21. 5     5.102168         3.6          1.4         0.2  setosa
  22. 6     5.400000         3.9          1.7         0.4  setosa
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 40 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
Ariel1991 发表于 2018-12-23 22:20:51
我想问一下,用mice函数时运算速度快吗?
我在进行案例学习,数据框包含1000行6列,第4-6列为都是整数数据,分别包含20、13、12个缺失值。
设置插补次数为5次。
运行时间超过了5分钟,而且有警告提示,请问这是正常的吗?
提示信息:
* Please inspect the loggedEvents
Warning message:
Number of logged events: 156

板凳
xinyinian 发表于 2020-3-27 11:59:36
imps <- with(data,lm(var1~var2))你可以把这句代码改成imps <- with(micedata,lm(var1~var2))

报纸
胡图图#$ 发表于 2023-3-18 18:18:17
Ariel1991 发表于 2018-12-23 22:20
我想问一下,用mice函数时运算速度快吗?
我在进行案例学习,数据框包含1000行6列,第4-6列为都是整数数据 ...
我也遇到同样的报错了,怎么解决啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 10:15