我有一个spss数据集的一个不寻常的问题,我通过Haven包导入到R(我还在GitHub上发了一篇关于此的帖子)。数据集中包含缺少值定义的变量,这些变量未包含在值标签中,这会导致R中的错误。 -77定义为缺失值,但不是值标签。索引变量的列返回
Error: `x` and `labels` must be same type
我找到解决问题的唯一方法是应用标签,删除缺失的值,然后删除标签:
ds <- read_spss(sav.file, user_na=TRUE)
val_label(ds[[1]], -77) <- "temp"
na_values(ds[[1]]) <- NULL
val_label(ds[[1]], -77) <- NULL
解决方案依赖于双括号(或$)。我想知道将这个应用到大型数据集中的所有数值变量的最快方法是什么。我可以通过for循环轻松完成它,但我正在寻找更快的东西。