Я использовал пакет mice
для расчета импутаций (10 итераций, 5 импутаций).Потому что я новичок в этой области, мой «методист», который очень терпелив со мной!- хотите оценить вмененные значения (поэтому не законченные наборы).Кажется, я не могу найти способ собрать все вмененные значения в один четкий кадр данных.
Данные о молодежи, которая ответила на множество вопросов по 5-балльной шкале Лайкерта.У меня есть несколько imp
на возрастную категорию.Например:
С моей командой imp_val_15_plus <- Filter(Negate(is.null), imp_15plus$imp)
я могу видеть все вмененные значения по каждому вопросу и по идентификатору.Например, imp_val_15plus[1:2]
дает:
$X02_07
1 2 3 4 5
qwertyuiop123456789 4 4 4 4 4
$X02_12
1 2 3 4 5
adfghjkl09823430233 2 2 5 2 2
zcvnmoi987412597800 1 2 1 1 2
Итак, здесь есть два вопроса (X02_07 и X02_12).Первый имеет один NA (id qwe ... 789), а последний имеет два NA (id adf ... 0233 и zcvn ... 7800)
Я хотел бы иметь такой фрейм данных:
q_nr id 1 2 3 4 5
$X02_07 qwertyuiop123456789 4 4 4 4 4
$X02_12 adfghjkl09823430233 2 2 5 2 2
$X02_12 zcvnmoi987412597800 1 2 1 1 2
Поэтому я подумал, как извлечь нужные мне значения, а затем попытаться использовать цикл для всех этих значений.Я пытался извлечь значения:
names(imp_val_15plus[1])
дает мне номер вопроса [1] "X02_07"
row.names(imp_val_15plus[[1]])
дает мне идентификационный номер [1] "qwertyuiop123456789"
Но тогда я ошибаюсь с вмененными значениями,С as.integer(imp_val_15plus[[1]])
я получаю [1] 3 3 3 3 3
вместо того, что я хотел [1] 4 4 4 4 4
.Три из них являются логическими, из-за факторов, доступных для вопроса $ X02_07.Обычно это должны быть коэффициенты 1 - 5, но никто из подростков не использовал 1, поэтому мои уровни для этого вопроса 2 - 5.
Посмотрите на str(imp_val_15plus[[1]])
, это дает:
'data.frame': 1 obs. of 5 variables:
$ 1: Factor w/ 4 levels "2","3","4","5": 3
..- attr(*, "contrasts")= num [1:4, 1:3] 0 1 0 0 0 0 1 0 0 0 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr "2" "3" "4" "5"
.. .. ..$ : chr "2" "3" "4"
$ 2: Factor w/ 4 levels "2","3","4","5": 3
..- attr(*, "contrasts")= num [1:4, 1:3] 0 1 0 0 0 0 1 0 0 0 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr "2" "3" "4" "5"
.. .. ..$ : chr "2" "3" "4"
etc., etc.
Имеет смысл, что я получил тройки, потому что это номер фактора с уровнями «2», «3», «4», «5».Как получить значение самого значения (4) вместо 3?Или есть другой способ аккуратно представить все вмененные значения (не завершенный набор !!)?