我陷入了一个问题,并尝试找到类似的解决方案,但无法在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
但我无法处理。如果有人可以建议我没有循环的答案,这将是伟大的。
提前致谢
答案 0 :(得分:2)
y1[x1$x == 0,] <- NA
请注意,这会将y1
中所有列中的相关行设置为NA
。您只能通过以下方式对一列执行此操作,例如:
y1$x[x1$x == 0] <- NA