[R] create new variable with ifelse? (reproducible example)
Milan Bouchet-Valat
nalimilan at club.fr
Sat Sep 15 23:10:46 CEST 2012
Le samedi 15 septembre 2012 à 23:36 +0300, Niklas Fischer a écrit :
> Dear R users,
>
> I have a reproducible data and try to create new variable "clo" is 1 if
> know variable is equal to "very well" or "fairly well" and getalong is 4 or
> 5
> otherwise it is 0.
>
> rep_data<- read.table(header=TRUE, text="
> id1 id2 know getalong
> 100000016_a1 100000016_a2 very well 4
> 100000035_a1 100000035_a2 fairly well NA
> 100000036_a1 100000036_a2 very well 3
> 100000039_a1 100000039_a2 very well 5
> 100000067_a1 100000067_a2 very well 5
> 100000076_a1 100000076_a2 fairly well 5
> ")
>
>
> rep_data$clo<- ifelse((rep_data$know==c("fairly well","very well") &
> rep_data$getalong==c(4,5)),1,0)
>
> For sure, something must be wrong, I couldn't find it out.
Try:
rep_data$clo <- ifelse(rep_data$know %in% c("fairly well", "very well") &
rep_data$getalong %in% c(4, 5),
1, 0)
(Not checked, because your data is not parsed correclty by read.table
because of the spaces in the levels. Please use dput() instead.)
My two cents
More information about the R-help
mailing list