我使用forcats库中的str_replace()替换了普通NA中的字符"N/A",所以我写了以下几行:
str_replace(as.character(iris$Species), "setosa", NA)
它说替换对象需要一个字符,这个实际上是有效的:
str_replace(as.character(iris$Species), "setosa", "NNAA")
有没有人知道是否有可能在不对[]进行子集的情况下用NA替换它?提前谢谢。
发布于 2020-07-04 01:19:01
仅仅因为你不想要子集并不意味着你应该使用str_replace,在那里你可以进行精确的字符串比较:
library(data.table)
setDT(iris)
DT[,Species:=ifelse(Species=="setosa", NA_character_, "setosa")]
# or simpler
DT[,Species:=ifelse(Species=="setosa", NA, "setosa")]
# or simpler
DT[Species=="setosa",Species:=NA]https://stackoverflow.com/questions/62719458
复制相似问题