[R] ifelse statement with two vectors of different length
arun
smartpink111 at yahoo.com
Wed Dec 18 15:32:04 CET 2013
Hi,
Please show a reproducible example.
countrydiff <- c("Albania", "Algeria", "Belarus", "Canada", "Germany")
long_df <- data.frame(country_name = c("Algeria", "Guyana", "Hungary", "Algeria", "Canada", "Iran", "Iran", "Norway","Uruguay", "Zimbabwe") )
ifelse(long_df$country_name %in% countrydiff,1,0)
# [1] 1 0 0 1 1 0 0 0 0 0
#or
1*(long_df$country_name %in% countrydiff)
# [1] 1 0 0 1 1 0 0 0 0 0
A.K.
Dear list-members,
I have the following problem: I have a vector (countrydiff) with
length 72 and another vector (long_df$country_name) which is about
12000 long. Basically what I want to do is to if the factor level (or
string name) in long_df$country_name appears on the countrydiff, then
long_df$povdat should be equal to 1, if it does not appear on the
countrydiff vector then long_df$povdat should be equal to zero. I have
tried different combinations and read some. The following code should in
my mind do it, but it doesn’t:
long_df$povdat<-ifelse(long_df$country_name == countrydiff, 1, 0)
long_df$povdat<-ifelse(long_df$country_name %in% countrydiff, 1, 0)
Additional information: the factor vector countrydiff contains
unique country names (Albania, Zimbabwe etc.), whereas
long_df$country_name also contains country names albeit not unique since
it is in longform. The unique names that appear in long_df$country_name
is around 200.
Any suggestions?
Thanks in advance.
Best
Adel
More information about the R-help
mailing list