2017-10-18 190 views
0

我被困在一个问题中,并试图找到类似的解决方案,但无法在此处找到该计算器。我的数据是这样的:使用条件来替换使用R中另一个数据帧的数据帧的值

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))) 

我想要做的是NA如果x1 = 0更换的y1价值,但想保留的价值,因为它是,如果x1 = 1对整个数据帧y1在同一时间。我

我试图ifelse功能

y1 <- ifelse(x1 == 0, NA, y1) 

但我无法处理这一点。如果任何人都可以建议我没有循环的答案,那将是很棒的。

在此先感谢

+2

'Y1 [X1 == 0,] = NA' – Wen

+0

尝试'(NA^X1!)* y1' – akrun

+0

有多个列中的“y1”数据帧。明确您是否希望在适用时将“y1”中的特定列或单列替换为NA。 –

回答

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

注意,这台相关的行中的所有列在y1NA。你可以为一列这样做只是通过,例如:

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

非常感谢您的回答。 – user3356873

相关问题