Это происходит из-за того, что данные имеют высокую коллинеарность, а функция mice
внутренне проверяет пороговое удержание коллинеарности, если она не проходит, то выдает вышеуказанную ошибку. Используется функция mice:::find.collinear()
внутренне.
, чтобы переопределить это, вы можете использовать следующее, но это может дать какой-то странный результат, и это не рекомендуется:
mice(sample_data, remove.collinear=FALSE)
Пример примера:
library(mice)
data("nhanes")
nhanes
ouput:
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
Ниже приведена документация по функции и аналогичная проблема github
, связанная с вашей.
Документация: https://www.rdocumentation.org/packages/mice/versions/3.6.0/topics/mice
Github Выпуск: https://github.com/stefvanbuuren/mice/issues/194