使用鼠标对象时出错:没有适用于'complete_'的方法。

8
library(mice)
md.pattern(dat1)
temp<-mice(dat1, m = 5, seed = 101)
dat1 <- complete(temp, 2)

UseMethod("complete_") 出错:
对于类 "mids" 的对象,没有可应用于 'complete_' 的适用方法

你好,我正在使用 mice 包来填充缺失值。但是,我遇到了上述错误信息。 第一次填充缺失数据时它可以工作,但是当我尝试再次填充时就不行了。我已经尝试了很多不同的选项(更改种子、删除现有数据或“temp”变量)。

有时它可以工作,有时它就不行。 这个问题的原因和解决方案是什么呢? 提前感谢。


2
这段代码应该是可以工作的。请提供一个完整的示例来重现您所描述的问题。错误信息表明R无法找到由mice生成的对象类型的complete方法。您确定mice包始终处于加载状态吗?如果您将complete替换为mice::complete,是否会有任何变化? - SimonG
3个回答

14

我认为这里的问题在于你应该在程序中使用其他库,这些库有一个名为"complete"的函数。只是在帮助菜单中输入"complete"给了我另外两个库(tidyr、RCurl),这些库有相同名称的函数。正如Simon所建议的那样,我尝试使用"mice::complete"。它对我有效。


1

mice 3.7.5complete() 函数重新定义为 S3 的 complete.mids() 方法,用于通用的 tidyr::complete()

假设已经加载了 mice,您将不再看到 no applicable method for 'complete_' applied to an object of class "mids"


1

试试这个:

dat1<-mice::complete(temp,2)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接