r - 用 forcats 中的 str_replace() 替换 NA 而不是“N/A”不起作用
问题描述
我正在使用str_replace()
from forcats
library 来替换我的 character "N/A"
,NA
所以我写了下一行:
str_replace(as.character(iris$Species), "setosa", NA)
它说替换对象需要一个字符,这个实际上有效:
str_replace(as.character(iris$Species), "setosa", "NNAA")
有谁知道是否可以在不进行子集化的NA
情况下替换它[]
?提前致谢。
解决方案
仅仅因为您不想进行子集化并不意味着您应该使用 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]
推荐阅读
- ios - iOS15 UITextView 拖拽view后导致crash, Invalid parameter not满足:pos
- c# - Visual Studio 2019 使用路径问题
- android - 通过映射枚举值获取枚举类型总是抱怨空问题 Android Kotlin
- javascript - 如何将异步图像渲染到我的推特卡中(推特:图像)
- python - 在 Python 中排除建筑物形状列表中的点
- amazon-web-services - 使用 cPanel 重定向到另一个(AWS)URL 时如何保留参数
- sql - 无法获得正确的解决方案 sql server 2005
- c++ - 使用临时文件处理大量数据
- ruby-on-rails - Rails 将一个对象批量转换为另一个对象
- python - 将数据附加到流