使用条件使用R中的另一个数据帧替换数据帧的值

时间:2017-10-18 02:44:01

标签: r

我陷入了一个问题,并尝试找到类似的解决方案,但无法在stackoverflow中找到它。我的数据如下所示:

x1 <- data.frame(x = c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0))

y1 <- data.frame(x = c(sin(x1 - 3.4)), y = c(cos(x1-3.2), z = tan(x1-3.5)))

我想要做的是将y1的值替换为NA x1 = 0,但是如果整个数据框x1 = 1 y1,则希望保持该值不变ifelse }} 同时。我

我尝试y1 <- ifelse(x1 == 0, NA, y1) 函数

[VIRTUALENV]/Lib/orig-prefix.txt

但我无法处理。如果有人可以建议我没有循环的答案,这将是伟大的。

提前致谢

1 个答案:

答案 0 :(得分:2)

y1[x1$x == 0,] <- NA

请注意,这会将y1中所有列中的相关行设置为NA。您只能通过以下方式对一列执行此操作,例如:

y1$x[x1$x == 0] <- NA