De todas formas, es mejor (y más rápido) no usar un bucle y asignar directamente:
cinr = rep(NA, 3738) cinr[rango_inr1==1 & (inr>= 2 & inr<= 3)] <- 1 cinr[rango_inr1==2 & (inr>= 2.5 & inr<= 3.5)] <- 2 cinr[rango_inr1==3 & (inr>= 2 & inr<= 2.9)] <- 3 cinr[rango_inr1==4 & (inr>= 2.25 & inr<= 3.5)] <- 4 cinr[rango_inr1==5 & (inr>= 2.2 & inr<= 3.25)] <- 5 cinr[rango_inr1==6 & (inr>= 2 & inr<= 3.5)] <- 6 cinr[rango_inr1==7 & (inr>= 2 & inr<= 4)] <- 7 cinr[rango_inr1==8 & (inr>= 2 & inr<= 2.6)] <- 8 cinr[rango_inr1==9 & (inr>= 2 & inr<= 2.5)] <- 9 cinr[rango_inr1==10 & (inr>= 2 & inr<= 2.8)] <- 10 cinr[rango_inr1==11 & (inr>= 2.5 & inr<= 4)] <- 11) Un saludo. Isidro Hidalgo Arellano Observatorio Regional de Empleo Consejería de Empleo y Economía http://www.jccm.es > -----Mensaje original----- > De: r-help-es-boun...@r-project.org [mailto:r-help-es-bounces@r- > project.org] En nombre de juan(uned) > Enviado el: jueves, 10 de julio de 2014 8:59 > Para: r-help-es@r-project.org > Asunto: [R-es] bucle > > Estimados compañeros, hoy me ha surgido una duda, quizás trivial, pero > que no encuentro sentido. Tengo un bucle con el siguiente código: > > for (i in 1:n) > { > if (rango_inr1[i]==1 & (inr[i]>= 2 & inr[i]<= 3)) cinr[i]<-1 if > (rango_inr1[i]==2 & (inr[i]>= 2.5 & inr[i]<= 3.5)) cinr[i]<-2 if > (rango_inr1[i]==3 & (inr[i]>= 2 & inr[i]<= 2.9)) cinr[i]<-3 if > (rango_inr1[i]==4 & (inr[i]>= 2.25 & inr[i]<= 3.5)) cinr[i]<-4 if > (rango_inr1[i]==5 & (inr[i]>= 2.2 & inr[i]<= 3.25)) cinr[i]<-5 if > (rango_inr1[i]==6 & (inr[i]>= 2 & inr[i]<= 3.5)) cinr[i]<-6 if > (rango_inr1[i]==7 & (inr[i]>= 2 & inr[i]<= 4)) cinr[i]<-7 if > (rango_inr1[i]==8 & (inr[i]>= 2 & inr[i]<= 2.6)) cinr[i]<-8 if > (rango_inr1[i]==9 & (inr[i]>= 2 & inr[i]<= 2.5)) cinr[i]<-9 if > (rango_inr1[i]==10 & (inr[i]>= 2 & inr[i]<=2.8)) cinr[i]<-10 if > (rango_inr1[i]==11 & (inr[i]>= 2.5 & inr[i]<= 4)) cinr[i]<-11 } > > donde n vale 3738 e i naturalmente 3738. Pues bien, resulta que la > variable creada cinr tiene 3737 casos. ¿Qué puede estar ocurriendo?. He > comprobado los casos de rango_inr1 y de inr y son 3738. > ¿Qué estoy haciendo mal?. > > Un cordial saludo, > > Juan > > -- > Juan Antonio Gil Pascual > Profesor de Metodología de la Investigación Cuantitativa > correo: j...@edu.uned.es > web: www.uned.es/personal/jgil > > Dpto. MIDE > Facultad de Educación > c/Juan del Rosal, 14 desp. 2.72 > 28040 Madrid > Telf. 91 3987279 > Fax. 91 3987288 > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es