[R-es] bucle

Isidro Hidalgo ihidalgo en jccm.es
Jue Jul 10 09:52:53 CEST 2014


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-bounces en r-project.org [mailto:r-help-es-bounces en r-
> project.org] En nombre de juan(uned)
> Enviado el: jueves, 10 de julio de 2014 8:59
> Para: r-help-es en 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: jgil en 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
> Tel‚f. 91 3987279
> Fax. 91 3987288
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es