r - 基于另一列替换数据框列中的值
问题描述
我在 R 中有一个数据框:
a b c d e
1 2 3 23 1
4 5 6 -Inf 2
7 8 9 2 8
10 11 12 -Inf NaN
如果 d 列中的相应值是 -Inf ,我想用 NA 替换列 e 中的所有值,如下所示:
a b c d e
1 2 3 23 1
4 5 6 -Inf NA
7 8 9 2 8
10 11 12 -Inf NA
任何帮助表示赞赏。如果没有循环,我就无法做到这一点,而且完整的数据帧需要很长时间。
解决方案
ifelse
是矢量化。我们可以ifelse
在不使用循环的情况下使用。
dat$e <- ifelse(dat$d == -Inf, NA, dat$e)
数据
dat <- read.table(text = "a b c d e
1 2 3 23 1
4 5 6 -Inf 2
7 8 9 2 8
10 11 12 -Inf NaN", header = TRUE)
推荐阅读
- javascript - 函数中的switch语句不分配变量
- android - Navigator.push 在 Stack 上复制屏幕
- python - 结合来自 2 个列表的不同元素来创建数据类型?
- javascript - 下载时发生错误 Chrome 扩展程序上的下载中断
- c++ -
在 .cpp 文件上运行独立的 clang 工具时找不到 - json - jq:将对象数组中的字段提升到父对象中
- arrays - 按 $lookup 字段排序
- google-compute-engine - GCE 实例 -- 无法 ping 通自己的外部 IP
- firebase - Firebase - 多个客户端应用程序
- django - 在 DRF 中多次调用 setUpClass()