当我 运行 complete() 时,我得到一个错误- Error in (function (类, fdef, mtable)
When I run complete(), I am getting the an error- Error in (function (classes, fdef, mtable)
我有一个看起来像这样的数据集(A-J 是列名)
A B C D E F G H I J
1 2 2 3 2 1 1 1 1
2 1 1 1 1 1 1 1 1 1
2 1 2 2 2 2 2 2 1 1
2 1 2 1 1 1 1 1 1 1
2 1 3 3 3 2 2 2 2
2 1 3 2 2 3 1 1 1 1
1 3 2 1 2 2 2 1 2
2 1 2 2 2 2 2 2 1 1
1 2 2 2 2 1 1 1 1
2 1 2 1 1 1 2 1 1 1
2 1 1 1 1 1 2 2 1 1
2 1 2 1 1 1 1 1 1 2
2 1 1 1 1 1 1 1
2 1 3 3 3 3 1 1 1 2
1 2 2 1 2 1 1 1 1
1 2 2 2 2 2 2 1 1
2 2 4 1 1 1 2 2 1 1
1 1 3 3 3 3
2 1 3 3 1 2 2 2 2 3
我收到以下错误-
Error in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘complete’ for signature ‘"mids", "numeric"’
我的数据有很多 NULL 值,我正在尝试使用以下代码估算数据-
imp_data<-mice(data = data_NA, m = 5, method = "rf", maxit = 5, seed = 500)
我在 运行 代码-
时收到错误
complete(imp_data,1)
请指出我做错的地方
似乎 NA
值未正确分配到 data_NA
data.frame 中,这导致了问题。
修改后的数据(使用 NA
)并使用对我有用的 mice
进行转换:
library(mice)
imp_data <- mice(data = data_NA, m = 5, method = "rf", maxit = 5, seed = 500)
complete(imp_data, 1)
已编辑: OP 看到的错误已通过将调用更改为:
解决
mice::complete(imp_data, 1)
可能是 mice::complete
被其他软件包的某些功能屏蔽了。
#Result
# A B C D E F G H I J
# 1 1 2 2 3 2 1 1 1 1 2
# 2 2 1 1 1 1 1 1 1 1 1
# 3 2 1 2 2 2 2 2 2 1 1
# 4 2 1 2 1 1 1 1 1 1 1
# 5 2 1 1 3 3 3 2 2 2 2
# 6 2 1 3 2 2 3 1 1 1 1
# 7 1 3 2 1 2 2 2 1 2 1
# 8 2 1 2 2 2 2 2 2 1 1
# 9 1 2 2 2 2 1 1 1 1 1
# 10 2 1 2 1 1 1 2 1 1 1
# 11 2 1 1 1 1 1 2 2 1 1
# 12 2 1 2 1 1 1 1 1 1 2
# 13 2 1 1 1 1 1 1 1 1 1
# 14 2 1 3 3 3 3 1 1 1 2
# 15 1 2 2 1 2 1 1 1 1 1
# 16 1 2 2 2 2 2 2 1 1 1
# 17 2 2 4 1 1 1 2 2 1 1
# 18 1 1 3 3 3 3 2 1 2 1
# 19 2 1 3 3 1 2 2 2 2 3
#
数据
data_NA<- read.table(text =
"A B C D E F G H I J
1 2 2 3 2 1 1 1 1 NA
2 1 1 1 1 1 1 1 1 1
2 1 2 2 2 2 2 2 1 1
2 1 2 1 1 1 1 1 1 1
2 1 NA 3 3 3 2 2 2 2
2 1 3 2 2 3 1 1 1 1
1 3 2 1 2 2 2 1 2 NA
2 1 2 2 2 2 2 2 1 1
1 2 2 2 2 1 1 1 1 NA
2 1 2 1 1 1 2 1 1 1
2 1 1 1 1 1 2 2 1 1
2 1 2 1 1 1 1 1 1 2
2 1 1 1 NA NA 1 1 1 1
2 1 3 3 3 3 1 1 1 2
1 2 2 1 2 1 1 1 1 NA
1 2 2 2 2 2 2 1 1 NA
2 2 4 1 1 1 2 2 1 1
1 1 3 3 3 3 NA NA NA NA
2 1 3 3 1 2 2 2 2 3",header = TRUE)
我有一个看起来像这样的数据集(A-J 是列名)
A B C D E F G H I J
1 2 2 3 2 1 1 1 1
2 1 1 1 1 1 1 1 1 1
2 1 2 2 2 2 2 2 1 1
2 1 2 1 1 1 1 1 1 1
2 1 3 3 3 2 2 2 2
2 1 3 2 2 3 1 1 1 1
1 3 2 1 2 2 2 1 2
2 1 2 2 2 2 2 2 1 1
1 2 2 2 2 1 1 1 1
2 1 2 1 1 1 2 1 1 1
2 1 1 1 1 1 2 2 1 1
2 1 2 1 1 1 1 1 1 2
2 1 1 1 1 1 1 1
2 1 3 3 3 3 1 1 1 2
1 2 2 1 2 1 1 1 1
1 2 2 2 2 2 2 1 1
2 2 4 1 1 1 2 2 1 1
1 1 3 3 3 3
2 1 3 3 1 2 2 2 2 3
我收到以下错误-
Error in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘complete’ for signature ‘"mids", "numeric"’
我的数据有很多 NULL 值,我正在尝试使用以下代码估算数据-
imp_data<-mice(data = data_NA, m = 5, method = "rf", maxit = 5, seed = 500)
我在 运行 代码-
时收到错误complete(imp_data,1)
请指出我做错的地方
似乎 NA
值未正确分配到 data_NA
data.frame 中,这导致了问题。
修改后的数据(使用 NA
)并使用对我有用的 mice
进行转换:
library(mice)
imp_data <- mice(data = data_NA, m = 5, method = "rf", maxit = 5, seed = 500)
complete(imp_data, 1)
已编辑: OP 看到的错误已通过将调用更改为:
解决mice::complete(imp_data, 1)
可能是 mice::complete
被其他软件包的某些功能屏蔽了。
#Result
# A B C D E F G H I J
# 1 1 2 2 3 2 1 1 1 1 2
# 2 2 1 1 1 1 1 1 1 1 1
# 3 2 1 2 2 2 2 2 2 1 1
# 4 2 1 2 1 1 1 1 1 1 1
# 5 2 1 1 3 3 3 2 2 2 2
# 6 2 1 3 2 2 3 1 1 1 1
# 7 1 3 2 1 2 2 2 1 2 1
# 8 2 1 2 2 2 2 2 2 1 1
# 9 1 2 2 2 2 1 1 1 1 1
# 10 2 1 2 1 1 1 2 1 1 1
# 11 2 1 1 1 1 1 2 2 1 1
# 12 2 1 2 1 1 1 1 1 1 2
# 13 2 1 1 1 1 1 1 1 1 1
# 14 2 1 3 3 3 3 1 1 1 2
# 15 1 2 2 1 2 1 1 1 1 1
# 16 1 2 2 2 2 2 2 1 1 1
# 17 2 2 4 1 1 1 2 2 1 1
# 18 1 1 3 3 3 3 2 1 2 1
# 19 2 1 3 3 1 2 2 2 2 3
#
数据
data_NA<- read.table(text =
"A B C D E F G H I J
1 2 2 3 2 1 1 1 1 NA
2 1 1 1 1 1 1 1 1 1
2 1 2 2 2 2 2 2 1 1
2 1 2 1 1 1 1 1 1 1
2 1 NA 3 3 3 2 2 2 2
2 1 3 2 2 3 1 1 1 1
1 3 2 1 2 2 2 1 2 NA
2 1 2 2 2 2 2 2 1 1
1 2 2 2 2 1 1 1 1 NA
2 1 2 1 1 1 2 1 1 1
2 1 1 1 1 1 2 2 1 1
2 1 2 1 1 1 1 1 1 2
2 1 1 1 NA NA 1 1 1 1
2 1 3 3 3 3 1 1 1 2
1 2 2 1 2 1 1 1 1 NA
1 2 2 2 2 2 2 1 1 NA
2 2 4 1 1 1 2 2 1 1
1 1 3 3 3 3 NA NA NA NA
2 1 3 3 1 2 2 2 2 3",header = TRUE)