r - 在 R 中一次替换多列中的值的最简单方法
问题描述
我正在尝试用 NA 替换我的数据框中的“*”。我尝试使用 gsub 函数如下:
df = data.frame(x = c('*',2,3), y = c(3,3,5))
df[,1:2] = apply(df[,1:2], 2, function(x) gsub('*',NA,x))
虽然我的数据框中只有一个 * 但 gsub 用 NA 替换了所有数据!似乎 gsub 与 *. 我认为这是在我的数据框中用 NA 替换 * 的最简单方法,但它失败了。有人有更好的主意吗?
解决方案
使用fixed = TRUE
:
df[,1:2] = apply(df[,1:2], 2, function(x) gsub('*',NA,x,fixed = TRUE))
*
用作regular expression
否则。
推荐阅读
- python - python中的字符串
- java - Spring Boot 和 Java java.lang.OutOfMemoryError:超出 GC 开销限制
- javascript - 从Angular中的JSON动态更改HTML画布上的SVG形状?
- c++11 - 为什么只有我的一些对象是使用 std::async 创建的
- ios - 包含 Eureka 表单的 UnitTesting ViewController
- node.js - GCP 堆栈驱动程序日志记录未显示“全局”资源
- asp.net-core - .NET Core 中的 Page.Focus 等价物是什么?
- javascript - 尝试在存储 json 但回调错误和 404(未找到)的 php 文件上运行控制台日志
- javascript - 为什么工厂函数创建的对象的构造函数属性与构造函数不同
- pyspark - Pyspark 遍历行并使用结果列上的逻辑计算计数器