运行Amelia软件包时出现问题-不存在变量

时间:2020-10-21 13:46:41

标签: r missing-data multi-level

我想在一个小的数据集中的Amelia包中运行Amelia函数,以处理一些缺失值。这是代码:

am_hier <- amelia(karas_hier, ts = "type_questionnaire", 
cs = "id_unique", 
noms = "cat_prof_max",  
ords = c("q19_karasek_n", "q20_karasek_n", "q21_karasek_n", "q22_karasek_n"), 
polytime = 2, 
intercs = TRUE, 
p2s = 2)

但是我有这个错误:

Amelia Error Code:  38 
 The following variable(s) are characters: 
     2
You may have wanted to set this as a ID variable to remove it
from the imputation model or as an ordinal or nominal
variable to be imputed.  Please set it as either and
try again

问题是我没有名为“ 2”的变量。我不知道如何解决此错误。

  1. 此错误是什么意思? 2)如何更正此错误?

非常感谢!

更新

这是一个可重复的例子

structure(list(id_unique = c("A70_136_B_F", "A70_136_B_F", "A70_136_B_F", 
"A70_136_B_F", "A70_137_M_N", "A70_137_M_N", "A70_137_M_N", "A70_137_M_N", 
"A70_138_D_S", "A70_138_D_S", "A70_138_D_S", "A70_138_D_S", "A70_216_R_M", 
"A70_216_R_M", "A70_216_R_M", "A70_216_R_M", "A70_217_K_B", "A70_217_K_B", 
"A70_217_K_B", "A70_217_K_B", "A70_218_L_A", "A70_218_L_A", "A70_218_L_A", 
"A70_284_S_H", "A70_284_S_H", "A70_284_S_H", "A70_317_J_A", "A70_317_J_A", 
"A70_317_J_A", "A70_317_J_A", "A70_318_R_P", "A70_318_R_P", "A70_318_R_P", 
"A70_318_R_P", "A70_319_D_N", "A70_319_D_N", "A70_319_D_N", "A70_319_D_N", 
"A70_321_P_J", "A70_321_P_J", "A70_321_P_J", "A70_321_P_J", "A70_322_K_M", 
"A70_322_K_M", "A70_322_K_M", "A70_322_K_M", "A70_323_M_S", "A70_323_M_S", 
"A70_323_M_S", "A70_323_M_S"), type_questionnaire = c("t0", "t1", 
"t2", "t3", "t0", "t1", "t2", "t3", "t0", "t1", "t2", "t3", "t0", 
"t1", "t2", "t3", "t0", "t1", "t2", "t3", "t0", "t2", "t3", "t0", 
"t1", "t2", "t0", "t1", "t2", "t3", "t0", "t1", "t2", "t3", "t0", 
"t1", "t2", "t3", "t0", "t1", "t2", "t3", "t0", "t1", "t2", "t3", 
"t0", "t1", "t2", "t3"), cat_prof_max = c("Infirmier", "Infirmier", 
"Infirmier", "Infirmier", "Infirmier", "Infirmier", "Infirmier", 
"Infirmier", "Aide-soignant", "Aide-soignant", "Aide-soignant", 
"Aide-soignant", "Aide-soignant", "Aide-soignant", "Aide-soignant", 
"Aide-soignant", "Aide-soignant", "Aide-soignant", "Aide-soignant", 
"Aide-soignant", "Infirmier", "Infirmier", "Infirmier", "Infirmier", 
"Infirmier", "Infirmier", "Aide-soignant", "Aide-soignant", "Aide-soignant", 
"Aide-soignant", "Aide-soignant", "Aide-soignant", "Aide-soignant", 
"Aide-soignant", "Infirmier", "Infirmier", "Infirmier", "Infirmier", 
"Infirmier", "Infirmier", "Infirmier", "Infirmier", "Infirmier", 
"Infirmier", "Infirmier", "Infirmier", "Infirmier", "Infirmier", 
"Infirmier", "Infirmier"), q19_karasek_n = c("D'accord", "D'accord", 
"D'accord", "Pas d'accord", "D'accord", "Pas d'accord", "Pas d'accord", 
"Pas d'accord", "D'accord", "D'accord", "D'accord", "D'accord", 
"Pas du tout d'accord", "Pas du tout d'accord", "Pas du tout d'accord", 
"Pas d'accord", "Tout à fait d'accord", "D'accord", "D'accord", 
"Tout à fait d'accord", "D'accord", "Tout à fait d'accord", "Tout à fait d'accord", 
"Pas d'accord", "D'accord", "Pas du tout d'accord", "Tout à fait d'accord", 
"Tout à fait d'accord", "D'accord", "D'accord", "D'accord", "D'accord", 
"Pas d'accord", "D'accord", "D'accord", "D'accord", "D'accord", 
"D'accord", "Pas d'accord", "D'accord", "Pas du tout d'accord", 
"Pas d'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"Pas du tout d'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"Pas d'accord"), q20_karasek_n = c("D'accord", "D'accord", "D'accord", 
"D'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", "D'accord", 
"D'accord", "Pas d'accord", "D'accord", "D'accord", "Pas du tout d'accord", 
"Pas d'accord", "Pas du tout d'accord", "Pas d'accord", "Tout à fait d'accord", 
"D'accord", "D'accord", "Tout à fait d'accord", "D'accord", "Tout à fait d'accord", 
"Tout à fait d'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"Tout à fait d'accord", "Tout à fait d'accord", "D'accord", "D'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "Tout à fait d'accord", 
"Tout à fait d'accord", "D'accord", "D'accord", "Pas d'accord", 
"D'accord", "D'accord", "D'accord", "Pas d'accord", "Pas d'accord", 
"Pas d'accord", "Pas du tout d'accord", "Pas d'accord", "Pas d'accord", 
"Pas d'accord", "D'accord"), q21_karasek_n = c("D'accord", "D'accord", 
"Pas d'accord", "D'accord", "D'accord", "Pas d'accord", "Pas d'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "Tout à fait d'accord", 
"Pas du tout d'accord", "D'accord", "Pas d'accord", "D'accord", 
"Tout à fait d'accord", "D'accord", "D'accord", "Tout à fait d'accord", 
"D'accord", "D'accord", "D'accord", "Pas d'accord", "D'accord", 
"Pas d'accord", "Tout à fait d'accord", "D'accord", "D'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "Tout à fait d'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "D'accord", "D'accord", 
"Pas d'accord", "D'accord", "Pas d'accord", "Pas du tout d'accord", 
"Pas d'accord", "Pas du tout d'accord", "Pas d'accord", "Pas d'accord", 
"D'accord", "Pas d'accord"), q22_karasek_n = c("D'accord", "Pas d'accord", 
"Pas d'accord", "Pas d'accord", "Pas du tout d'accord", "Pas d'accord", 
"Pas d'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"D'accord", "Pas du tout d'accord", "Pas du tout d'accord", "Pas d'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "D'accord", "Tout à fait d'accord", 
NA, "D'accord", "D'accord", "Pas du tout d'accord", "Pas du tout d'accord", 
"Pas d'accord", "D'accord", "Tout à fait d'accord", "D'accord", 
"D'accord", "D'accord", "D'accord", "D'accord", "D'accord", "D'accord", 
NA, "D'accord", "D'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"Tout à fait d'accord", "Pas d'accord", "D'accord", "Pas d'accord", 
"Pas d'accord", "Pas d'accord", "Pas d'accord", "Pas d'accord", 
"Pas d'accord")), row.names = c(NA, 50L), class = "data.frame")

0 个答案:

没有答案