Suppose I have the following dataframe called test:

test<-data.frame(year=rep(1990:2003,5),id=gl(5,length(1990:2003)),eif=as.vector(sapply(1:5,function(z){a<-rep(0,length(1990:2003));a[sample(1:length(1990:2003),sample(1:2,1))]<-1;a})))

year id eif
1990  1   0
1991  1   0
1992  1   0
2000  1   1
1994  1   0
1995  1   0
2001  1   0
1997  1   1
....

I want to create a new variable in this dataframe called "hhtype" according to 
the logic:
If eif==1, hhtype = 1
Else if year < 2000, hhtype = 2
Else hhtype = 3

The result would be

year id eif hhtype
1990  1   0 2
1991  1   0 2
1992  1   0 2
2000  1   1 1
1994  1   0 2
1995  1   0 2
2001  1   0 3
1997  1   1 1

I think I can do this with some combination of apply and ifelse, but so far 
have not succeeded in putting it all together. Any help would be very much 
appreciated!

Thankyou,
Oliver

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to