Как получить все значения имп (R мышей) в кадре данных - PullRequest
0 голосов
/ 12 июня 2018

Я использовал пакет 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?Или есть другой способ аккуратно представить все вмененные значения (не завершенный набор !!)?

...