2017-07-20 6 views
0

他の変数に関する情報を含むデータフレームに新しい変数を作成したいと考えています。データフレーム内のミス(NAまたは0)を検出

大きなデータフレームがあります。いずれかの変数aの+ Bまたは変数cで一人(行)が報告書をCEROたなら、私に通知し、新しい変数を作成します(またはmissings/NA):

a <- c(1,0,2,3) 
b <- c(3,0,1,1) 
c <- c(2,0,2,2) 
d <- c(4,1,1,1) 

(df <- data.frame(a,b,c,d)) 

    a b c d 
1 1 3 2 4 
2 0 0 0 1 
3 2 1 2 1 
4 3 1 2 1 

目的は:保つためには、短いのは、言わせて+ d。

a b c d x 
1 1 3 2 4 1 
2 0 0 0 1 NA 
3 2 1 2 1 1 
4 3 1 2 1 1 

私はDFの使用を考えていた大規模なデータフレームを持っているとして、[1:2]とDF [3:4]私はすべての変数名を入力する必要はありませんように。しかし、私はそれを実装するための最良の方法はわかりません。多分dplyrにはいい選択肢がありますか?

+3

'NA ^(rowSums(DF)== 0)' – Sotos

答えて

1
df$x <- ifelse(rowSums(df), 1, NA) 

EDIT:更新された質問への回答:

df$x <- ifelse(rowSums(df[1:2])&rowSums(df[3:4]), 1, NA) 

を与え、

a b c d x 
1 1 3 2 4 1 
2 0 0 0 1 NA 
3 2 1 2 1 1 
4 3 1 2 1 1 
+0

私は収集する必要があります特定の列のみ。これはうまくいく。どうも。 df $ x < - ifelse(rowSums(df [1:3])、1、NA) – SDahm

+0

私の問題はより複雑であることに気付きました。編集をするつもりです。 – SDahm

+0

私の答えを編集しました。 – Lyngbakr

関連する問題