【发布时间】:2016-12-04 03:36:01
【问题描述】:
我已经四处寻找这个问题,但没有找到答案。我有一个数据框,其中包含多个级别的列,如“未知”、“无响应”或“拒绝回答”等。所有这些对我来说都是无用的分析,所以我想用 NA 替换它们。
请注意,我不想在整个数据框中替换它们,只替换特定的列!还有其他列包含具有相同名称的值,这些值实际上对我有用,我想不理会它们。
我已经设法一次更换一个:
data$col1 <- factor(gsub("Unknown", "NA", data$col1))
但这一次只适用于一个字符串。如果我尝试添加多个字符串,R 会引发错误。有没有更有效的方法来做到这一点?
我对编码比较陌生,请温柔!
【问题讨论】:
-
使用read.csv中的
na.strings,即在读取数据集时,可以指定哪些值可以改成NA,dat <- read.csv("yourfile.csv", na.strings = c("Unknown", "No response", "Refused to answer")) -
试试
data$col1 <- factor(gsub("Unknown|No response|Refused to answer", "NA", data$col1))。