だからこれは私が持っているいくつかのサンプルデータです:条件文の後に値を複製していますか?
signal1 signal2 signal3
1 0 1
1 1 1
1 0 1
1 0 1
1 0 1
1 0 1
1 0 0
そして、私は4番目の列を追加したい、signal1==signal2==signal3
は両方とも1ある時はいつでも、新しい列が1から0
signal1 signal2 signal3 signal_generate
1 0 1 0
1 1 1 1
1 0 1 1
1 0 1 1
1 0 1 1
1 0 1 1
1 0 0 0
私は、これはifelse
文によって達成されるだろうと思っていますが、私はこの一見単純な作業を超える難易度の多くを持っている:
は、したがって、上記の例から、私のような何かを生成します。私はの線に沿って何かをやってと思っています:
signal_generate <- ifelse(data[,1]==data[,2]&data[,3]>0, rep(data[,3]==1), 0)
しかし、私は正しい回数を繰り返すsignal3
を取得する方法を見つけ出すことはできません。
編集:ifelse
は、条件signal1 == signal2 == signal3
が正確に会う行だけを見るため、愚かになることを認識しています。私はまだひどく立ち往生していて、大いに助けになるでしょう! Replacing NAs with latest non-NA value
からの助けを借りて
ありがとうございました。簡単な質問ですが、 'as.integer((rowSums(df [、1:3]))== 3L'はテーブルでしか動作しませんか、' data.frame'で使用できますか?それはすべてのために '0'を返しました。 – Nikitau
rowSumsのヘルプから" ...数値配列(またはデータフレーム) "です。あなたのデータの例はありません - 'dput'を使い、私の例はデータフレームです。私は内側から外側に向かって最小のコードを実行してデバッグし、結果を調べることをお勧めします。また、カッコを確認してください – epi99