错误:在 R 中尝试 MICE 包时不支持 `t.haven_labelled()`

1 r r-mice r-haven

这是我的示例代码:

图书馆(避风港)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)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error: `t.haven_labelled()` not supported
Run Code Online (Sandbox Code Playgroud)

就理解水平而言,我是一名 R 用户新手,有一些入门课程和一些阅读资料。非常感谢任何帮助。

Tim*_* Ka 5

带标签的数据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)
Run Code Online (Sandbox Code Playgroud)