是否有办法将特定的Haven R标签指定为NA?



这个问题是针对r中的Haven包的。

假设我有一个具有以下标签的变量:
1(同意)
2(中立)
3(不同意)
5(未响应)

但是我使用haven导入到R中的SPSS .sav文件没有将5指定为缺失变量NA

因此,我需要手动指定具有Did not respond标签选项和5数值的变量作为缺失的值。但是,我不能只是摆脱数据集中的每个5,因为其他变量有5,它是有意义的。我也不能手动列出我需要分配5作为缺失变量的变量,因为数据集中有数千个变量。

是否有一种方法可以将标签Did not respond指定为数据集中每个变量的缺失值?

我正在努力解决这个问题:使用haven读取一个大型SPSS .sav文件,其中包含具有不同值的数字变量,标记为"不知道",这些值可能对其他变量有效。一个同事为我写了这个循环函数,它已经工作了(我已经替换了我的"不知道")。与您的"没有回应")。

它依赖于labelled包。

replace_no_resp <- function(data) {
for (col in names(data)) { 
labels_ls <- val_labels(data[[col]]) 
if ("Did not respond" %in% labels(val_labels(data[[col]]))) { 
no_resp_value <- labels_ls[names(labels_ls) == "Did not respond"] 
no_resp_index <- which(data[[col]] == no_resp_value) 
data[[col]][no_resp_index] <- NA 
}
}
return(data)
}
dat_nas <- replace_no_resp(dat)

相关内容

  • 没有找到相关文章

最新更新