用数据框中的NAreplace字符值

我有一个数据框包含(在随机的地方)一个字符值(比如说"foo" ),我想用NA代替。

在整个数据框架中,最好的方法是什么?

这个:

 df[ df == "foo" ] <- NA 

一种将这个问题扼杀在萌芽状态的方法是,当您首先读取数据时,将该字符转换为NA。

 df <- read.csv("file.csv", na.strings = c("foo", "bar")) 

另一个select是is.na<-

 is.na(df) <- df == "foo" 

请注意,它的使用似乎有点反直觉,但它实际上在右侧的索引处 NA指定df

一种替代的解决方法如下:

 for (i in 1:ncol(DF)){ DF[which(DF[,i]==""),columnIndex]<-"ALL" FinalData[which(is.na(FinalData[,columnIndex])),columnIndex]<-"ALL" }