在下面的測試數據框中,我試圖將包含「NA」的數據幀中的每個字符串更改爲「」(以使NAs爲空)。替換數據幀中包含字符的每個字符串
dat <- as.data.frame(matrix(ncol=2, nrow=2))
dat$V1 <- c(" NA", "foo")
dat$V2 <- c("bar", "NA ")
dat
V1 V2
1 NA bar
2 foo NA
但是,以下命令返回一個完全空白的數據框,就好像所有字符串都包含「NA」一樣。爲什麼會發生這種情況,什麼纔是正確的解決方案?
value <- "NA"
dat[grepl(value, dat)] <- ""
您正在替換此處的列... –
要進一步解釋Damiano的評論,如果它們包含「NA」,則替換帶有「」的列。由於每列都包含「NA」,因此您當然留下了一個空白數據框。注意,如果你用'dat $ V1 < - c(「NA」,「NA」)和'dat $ V2 < - c(「foo」,「bar」)構造一個數據幀, – aku