2017-10-18 3 views
0

私は1つの問題に悩まされていますが、同様の解決策を見つけようとしていますが、私のデータは次のようになります。条件を使用して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))) 

私は何をしたいことはx1 = 0場合はNAでy1の値を置き換えることですが、x1 = 1あれば、それは同時に、全体のデータフレームy1のためであるとして値を維持したいと思います。 I

私は

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

としてifelse機能を試してみましたしかし、私はそれを処理することができませんでした。もし誰かが私にループなしの答えを提案できればそれは素晴らしいだろう。事前に

おかげで、これはNAとしてy1のすべての列に関連する行を設定することを

+2

'Y1の[×1 == 0、] = NA' – Wen

+0

てみてください('!NA ^×1)* y1' – akrun

+0

あなたの中に複数の列があります。 "y1"データフレーム。該当する場合、 "y1"の特定の列または単一の列をNAに置き換えるかどうかを明確にします。 –

答えて

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

注意。あなたは、例えば、唯一つずつの列のためにこれを行うことができます:

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

非常に非常に答えをありがとう。 – user3356873

関連する問題