Hi,
You can try this also : set.seed(132) dat1<-data.frame(Company=rep(LETTERS[1:4],c(3,4,5,6)),Last_year=sample(2005:2012,18,replace=TRUE)) dat2<-dat1[order(dat1$Company,dat1$Last_year),] dat2$Last<-ave(dat2$Last_year,dat2$Company,FUN=function(x) ifelse(x>=2009,2009,x)) head(dat2) # Company Last_year Last #3 A 2007 2007 #1 A 2010 2009 #2 A 2012 2009 #6 B 2007 2007 #4 B 2008 2008 #5 B 2008 2008 identical(dat2[,3],pmin(dat2[,2],2009)) #[1] TRUE A.K. ----- Original Message ----- From: kebrab67 <selamgetac...@gmail.com> To: r-help@r-project.org Cc: Sent: Thursday, November 1, 2012 8:41 PM Subject: [R] If loops? I have a set of data with 205 988 observation sand 10 variables , three of which are Legal_status, Date_of_incorporation and Last_year. I set my time horizon from 1989 to 2009. Now I want to know when a company is dead. If Last_year is bigger or equal to 2009 then I say that a new "variable" last is 2009. If Last_year is smaller than 2009 then my new variable "last" is equal to the variable "Last_year". I wanted to know how I can generate this new variable and connect it to my original data called data. -- View this message in context: http://r.789695.n4.nabble.com/If-loops-tp4648199.html Sent from the R help mailing list archive at Nabble.com. [[alternative HTML version deleted]] ______________________________________________ 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. ______________________________________________ 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.