【发布时间】:2013-01-22 03:57:30
【问题描述】:
ETA: 顺便说一下,下面的重点是不必遍历我的整个列向量集,以防万一这是一个建议的解决方案(只做已知的一次工作一次)。
有很多用其他值替换 R 中数据框的 single 向量中的值的示例。
- Replace a value in a data frame based on a conditional (
if) statement in R - replace numbers in data frame column in r [duplicate]
以及如何将NA 的所有值替换为其他值:
我正在寻找的是类似于最后一个问题,但基本上是试图用另一个值替换一个值。对于多列满足条件的情况,或者只是尝试对多列执行前两个问题中的操作,我无法生成映射到实际数据框的逻辑值数据框。
一个例子:
data <- data.frame(name = rep(letters[1:3], each = 3), var1 = rep(1:9), var2 = rep(3:5, each = 3))
data
name var1 var2
1 a 1 3
2 a 2 3
3 a 3 3
4 b 4 4
5 b 5 4
6 b 6 4
7 c 7 5
8 c 8 5
9 c 9 5
假设我希望var1 和var2 中4 的所有值都为10。
我确定这是基本的,我只是没有正确考虑它。我一直在尝试这样的事情:
data[data[, 2:3] == 4, ]
这不起作用,但如果我对data[, 2] 而不是data[, 2:3] 做同样的事情,一切正常。似乎逻辑测试(如is.na())适用于多行/多列,但数值比较效果不佳?
感谢您的任何建议!
【问题讨论】: