我正在使用R处理一个数据集,该数据集附带有一个代码簿,基本上告诉我不同水平的因子变量标签应该是什么。例如,通过代码簿,我可以看到在我的“性别”变量中,0代表“女性”,1代表“男性”。我正在使用这些信息来相应地为我的变量标记值。
然而,最近我发现,令我失望的是,代码簿不完整。例如,它告诉我一个变量的1代表“是”,2代表“否”,但没有告诉我7、8和9代表什么,而我可以在数据中看到。我想做的是将此变量标记如下(或类似):
基本上,我希望所有在代码书中未指定的级别都标记为它们自己。我的问题是,这个代码书缺少了很多这样的级别,我真的不想手动查看数据中所有未定义的值,以构建每个变量的上述代码。此外,如果我省略那些缺失的级别,R会自动将它们标记为“NA”,而我不想要这样。
总结:我正在尝试弄清楚如何使用factor(),使其将所有未指定的级别标记为它们自己,而不是标记为“NA”。
然而,最近我发现,令我失望的是,代码簿不完整。例如,它告诉我一个变量的1代表“是”,2代表“否”,但没有告诉我7、8和9代表什么,而我可以在数据中看到。我想做的是将此变量标记如下(或类似):
data$variable <- factor(data$variable,
levels=c(1, 2, 7, 8, 9),
labels=c("Yes", "No", "7", "8", "9"))
基本上,我希望所有在代码书中未指定的级别都标记为它们自己。我的问题是,这个代码书缺少了很多这样的级别,我真的不想手动查看数据中所有未定义的值,以构建每个变量的上述代码。此外,如果我省略那些缺失的级别,R会自动将它们标记为“NA”,而我不想要这样。
总结:我正在尝试弄清楚如何使用factor(),使其将所有未指定的级别标记为它们自己,而不是标记为“NA”。