Error: `t.haven_labelled()` not supported while attempting MICE package in R

Error: `t.haven_labelled()` not supported while attempting MICE package in R

这是我的示例代码:

图书馆(天堂) community_surveys <- read_sav("community_surveys.sav")

diss_data <- as.data.frame(community_surveys)

diss_data$FOC_1 <- as.factor(diss_data$FOC_1)
diss_data$DR_1 <- as.factor(diss_data$DR_1)
diss_data$IR_1 <- as.factor(diss_data$IR_1)
diss_data$HAITI <- as.factor(diss_data$HAITI)
diss_data$TREATMENT <- as.factor(diss_data$TREATMENT)

library(mice)

mice(diss_data, maxit = 10, m = 10)

我收到以下错误:

Error: `t.haven_labelled()` not supported

就理解水平而言,我是一个新手 R 用户,有一些介绍 类 和一些阅读。非常感谢任何帮助。

来自 haven 的标记数据会导致各种奇怪的问题。您可以尝试以下方法之一:

如果您的数据应该是数字:sapply(diss_data, haven::zap_labels)

因素:sapply(diss_data, haven::as_factor)

您也可以尝试像这样替换代码中的命令:

diss_data$FOC_1 <- haven::as_factor(diss_data$FOC_1)
diss_data$DR_1 <- haven::as_factor(diss_data$DR_1)
diss_data$IR_1 <- haven::as_factor(diss_data$IR_1)
diss_data$HAITI <- haven::as_factor(diss_data$HAITI)
diss_data$TREATMENT <- haven::as_factor(diss_data$TREATMENT)

您可以使用 remove_val_labels()labelled 库中删除值标签。