我试图将NA数据填充到数据框中。我做了简单的数据:
library(mice)
first <- c(1,2,3,4,5,NA,7,8,9,NA)
second<- c(1,2,NA,4,5,6,7,NA,9,10)
sample_data <- data.frame(first,second)
imp2 <- mice(sample_data)
我收到此消息
edit.setup(数据,设置等)中的错误:没有可插补的内容
我该如何解决这个问题?
答案 0 :(得分:1)
这是由于以下事实:数据具有较高的共线性,并且mice
函数在内部检查共线性的阈值,如果未能通过,则表示上述错误。它使用函数{ {1}}内部。
要覆盖此内容,可以使用以下内容,但可能会产生一些奇怪的结果,因此不建议这样做:
mice:::find.collinear()
示例:
mice(sample_data, remove.collinear=FALSE)
输出:
library(mice)
data("nhanes")
nhanes
age bmi hyp chl
1 1 NA NA NA
2 2 22.7 1 187
3 1 NA 1 187
4 3 NA NA NA
5 1 20.4 1 113
6 3 NA NA 184
7 1 22.5 1 118
8 1 30.1 1 187
9 2 22.0 1 238
10 2 NA NA NA
11 1 NA NA NA
12 2 NA NA NA
13 3 21.7 1 206
14 2 28.7 2 204
15 1 29.6 1 NA
16 1 NA NA NA
17 3 27.2 2 284
18 2 26.3 2 199
19 1 35.3 1 218
20 3 25.5 2 NA
21 1 NA NA NA
22 1 33.2 1 229
23 1 27.5 1 131
24 3 24.9 1 NA
25 2 27.4 1 186
imp <- mice(nhanes)
imp
# list the actual imputations for BMI
imp$imp$bmi
输出最终估算数据:
# first completed data matrix
complete(imp)
下面是函数的文档以及与您的函数有关的类似 age bmi hyp chl
1 1 26.3 1 187
2 2 22.7 1 187
3 1 28.7 1 187
4 3 24.9 2 206
5 1 20.4 1 113
6 3 22.5 2 184
7 1 22.5 1 118
8 1 30.1 1 187
9 2 22.0 1 238
10 2 20.4 1 131
11 1 22.7 1 187
12 2 22.0 1 238
13 3 21.7 1 206
14 2 28.7 2 204
15 1 29.6 1 187
16 1 26.3 1 187
17 3 27.2 2 284
18 2 26.3 2 199
19 1 35.3 1 218
20 3 25.5 2 204
21 1 22.0 1 118
22 1 33.2 1 229
23 1 27.5 1 131
24 3 24.9 1 204
25 2 27.4 1 186
问题。
文档:https://www.rdocumentation.org/packages/mice/versions/3.6.0/topics/mice