我有一个关于重新编码数据的问题。我想使用查找表,我想知道如何重新编码NA并使用类似于%in%的方法。
示例数据:
gender <- c("Female", "Not Disclosed", "Unknown" , "Male", "Male", "Female", NA)
df_gender <- as.data.frame(gender)
df_gender$gender <- as.character(gender)
我的第一个重新编码方法是:
df_gender$gender[df_gender$gender == "Female"] <- "F"
df_gender$gender[df_gender$gender == "Male"] <- "M"
df_gender$gender[df_gender$gender %in% c("Unknown", "Not Disclosed", NA)] <- "Missing"
这种方法适用。但是,当存在大量变量并且可能导致大量代码行时,这是乏味的。我想使用查找表,例如我尝试的其他方法:
df_gender2 <- as.data.frame(gender)
df_gender2$gender <- as.character(gender)
gender_lookup <- c(Female = "F", Male = "M", Unknown = "Missing", "Not Disclosed" = "Missing")
df_gender2$gender <- gender_lookup[df_gender2$gender]
这样可行,但不会将NA重新编码为缺失。有没有办法结合&#34; Not Disclosed&#34;和&#34;未知&#34;设置等于&#34;缺少&#34;没有单独打字?其次,使用查找表,有没有办法将NA重新编码为&#34;缺少&#34;?