Creating variables in R- two issues

#1
I have two basic questions about new variable creation in R. I will show some code and hopefully someone can help answer these!
df0$new <- ifelse(df0$old=="yes",1,0)
In this code I am creating a new variable called "new" that is equal to 1 if the variable "old" is equal to yes or is otherwise equal to 0. But in the variable "old" I have missing data (represented as -99, -98, NAN). So how can I account for there being missing values?
The second question is about using an "OR" statement.
df0$z <- ifelse(df0$x1=="yes",1,0 | )
I want to create a new variable z that is equal to 1 if the participant responds "yes" to any of 5 questions (q1-q5). So I want to code it so it looks like: z = 1 if q1 ==1 OR q2 == 1 OR q3 == 1 OR q4 == 1 OR q5 == 1. If none of q1-q5 equal 1 than I want to set z equal to 0. However this also brings up the issue with the missing values as described up above. Thanks so much!
 

j58

Active Member
#2
First convert all your weirdly coded missing values to proper missing values. Provided that none of your variables are factors, you can do this for the whole data frame at once, like this:
Code:
idx <- df0 == "-99" | df0 == "-98" | df0 == "NAN"
df0[idx] <- NA
Any comparison with NA returns NA, so your ifelse statements will not affect the missing values.