Dear Contributors I have a problem with a loop.
I needed to create a variable that takes values 1,2.. to 19 corresponding to the value of a variable in a data.frame whose name is p_int$p_made and which takes values from 406 to 211. The problem is that this values come ordered in the wrong way when I try to compress the loop as the system reads 107,111,207,211,311,406,407,408,409,410,411, while they correspond to quarters-years so they should be ordered as 406-107-207-307-407… the only solution I found was really silly. It is the following. p_m<-matrix(0,dim(p_int)[1],1) for (i in 1:length(p_int$p_made)){ if (p_int$p_made[i]==406) p_m[i]<-1 else if (p_int$p_made[i]==107) p_m[i]<-2 else if (p_int$p_made[i]==207) p_m[i]<-3 else if (p_int$p_made[i]==307) p_m[i]<-4 else if (p_int$p_made[i]==407) p_m[i]<-5 else if (p_int$p_made[i]==108) p_m[i]<-6 else if (p_int$p_made[i]==208) p_m[i]<-7 else if (p_int$p_made[i]==308) p_m[i]<-8 else if (p_int$p_made[i]==408) p_m[i]<-9 else if (p_int$p_made[i]==109) p_m[i]<-10 else if (p_int$p_made[i]==209) p_m[i]<-11 else if (p_int$p_made[i]==309) p_m[i]<-12 else if (p_int$p_made[i]==409) p_m[i]<-13 else if (p_int$p_made[i]==110) p_m[i]<-14 else if (p_int$p_made[i]==210) p_m[i]<-15 else if (p_int$p_made[i]==310) p_m[i]<-16 else if (p_int$p_made[i]==410) p_m[i]<-17 else if (p_int$p_made[i]==111) p_m[i]<-18 else if (p_int$p_made[i]==211) p_m[i]<-19 } Can anyone help to find something more efficient? Thanks in advance. Francesca -- Francesca ---------------------------------- Francesca Pancotto Associate Professor University of Modena and Reggio Emilia Viale A. Allegri, 9 40121 Reggio Emilia Office: +39 0522 523264 Web: https://sites.google.com/site/francescapancotto/ ---------------------------------- [[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.