I have this data set with 6 variables contain either positive, negative or NA. A new column is required to be generated based on the values of these variables in the following manner:
P if ANY of the 6 variables contain a positive result.
N if NONE of the 6 variables contain a positive result.
NA if ALL of the 6 variables have NA.
MWE
var1 <- c('var1P', 'var1N', 'var1P', 'var1P', NA, 'var1N')
var2 <- c('var2N', 'var2N', 'var2N', 'var2P', NA, 'var2N')
var3 <- c('var3N', 'var3N', 'var3N', 'var3P', NA, 'var3N')
var4 <- c('var4P', 'var4N', 'var4P', 'var4P', NA, 'var4N')
var5 <- c(NA, 'var5N', 'var5N', 'var5P', NA, 'var5N')
var6 <- c(NA, NA, 'var6N', 'var6P', NA, 'var6N')
No <- seq(1:6)
df <- data.frame(No, var1, var2, var3, var4, var5, var6)
Code
dfnew <- df %>%
dplyr::mutate(varif = ifelse(var1 == 'var1P' | var2 == 'var2P' | var3 == 'var3P' | var4 == 'var4P' | var5 == 'var5P' | var6 == 'var6P', 'P', 'N'))
Output
No var1 var2 var3 var4 var5 var6 varif
1 var1P var2N var3N var4P <NA> <NA> P
2 var1N var2N var3N var4N var5N <NA> <NA>
3 var1P var2N var3N var4P var5N var6N P
4 var1P var2P var3P var4P var5P var6P P
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
6 var1N var2N var3N var4N var5N var6N N
Question
the varif for No 2 should read N instead of NA to make it different from No 5 where all values were NA.
Aucun commentaire:
Enregistrer un commentaire