SDahm
SDahm

Reputation: 436

detect missings (NA or 0) in data frame

i want to create a new variable in a data frame that contains information about the other variables.

I have got a large data frame. To keep it short let's say:

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

Aim: Create a new variable that informs me if one person (row) has cero reports (or missings / NA) either in the variables a+b or in the variables c+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

As i have a large data frame i was thinking about the use of df[1:2] and df[3:4] so that i do not need to type every variable name. But i am not sure which is the best way to implement it. Maybe dplyr has a nice option?

Upvotes: 0

Views: 71

Answers (1)

Dan
Dan

Reputation: 12074

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

EDIT: Answer to the updated question:

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

gives,

  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

Upvotes: 1

Related Questions