2017-10-18 188 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

相關問題