在 R 中将 0 设置为 NA

yen*_*ats 3 r na

在 R中将NA 设置为 0相反,我有一个data包含 A 列和 B 列(和其他列)的 data.frame ,其中 NA 被 0 替换为 rowSums(data[,c("A", "B")], na.rm=TRUE)

我需要将所有 0 值重新替换为NA. 因为我正在处理一个不仅包含数值的 data.frame,所以将 R 中矩阵的所有零转换为 NA对我不起作用(转换为矩阵在这里似乎没有希望)。

我试着 data["A" == 0] <- NAdata["B" == 0] <- NA-但是,它不会做任何事情(在data.frame似乎保持不变)

use*_*617 6

这是你需要的吗?

df <- data.frame(A=c(0, 3, "bla"), B=c("A", 0, "X"), C=c("x","B", 4)) #some fake data
df[df == 0] <- NA
Run Code Online (Sandbox Code Playgroud)