これは本当に簡単な質問ですが、余分な行の不要なコードを避ける手助けをしてくれることを願っています。列を掛け合わせるときにNAsを削除する
Df.1 <- data.frame(A = c(5,4,7,6,8,4),B = (c(1,5,2,4,9,1)),C=(c(2,3,NA,5,NA,9)))
私がやりたいことは、私は、元のデータフレームにCBINDますA、BおよびCの乗算であり、余分な列を生成している:私は、単純なデータフレームを持っています。
だから、私は正常に使用します。
attach(Df.1)
D<-A*B*C
しかし、NASは、列Cのどこにいるかは明らかに、私はむしろちょうど、私はすべてのNAの行を除外したくない変数DのNAを取得この列のNA値を無視します(Dの値は単にAとBの乗算、またはCが利用可能なA * B * Cの値になります)。
私は単純にNAsを1計算が変わらないか、またはif文を使うのですが、私は単純化した方法でこれを行うのを邪魔していましたか?
アイデア?
どう 'D <について - ' if'を使用して周りに卑劣な方法です* B型*(!C * is.na(C)+ 1 * is.na(C)) '、。 –
それは素晴らしいですが、私は恐れている@CarlWitthoftそのコード行は動作しません。 –
私の謝罪 - 私は今テスト/デバッグできません。どのようなエラー(または出力不良)が発生したのか教えていただけますか? –