Hola. La alternativa de Isidro es la que yo uso normalmente en este tipo de cosas. Si algún caso que no cumpla ninguna de las condiciones te quedará con cinr=NA.
Saludos El 10/07/14 17:10, juan(uned) escribió: > Eva muchas gracias por la contestación pero hay muchos casos que no > cumplen la condición y cinr toma el valor NA porque inr toma valores > fuera de los intervalos que pongo pero rango_inr1 siempre toma uno de > los 11 valores, además sum(table(rango_inr1)) es 3738. Podías concretar > la opción que comentas de ifelse(). > Muchas gracias a Jorge y a Isidro. Probaré la alternativa de Isidro. > > Un cordial saludo, > > Juan > > El 10/07/2014 9:37, Eva Prieto Castro escribió: >> Hola, Juan: >> >> Eso sólo es posible si exactamente para uno de los valores de i no se >> cumple ninguna de las condiciones, con lo cual no llegas a incorporar >> valor en cinr. >> >> Puedes utilizar if else de modo que te emita un mensaje informando del >> "i" que no supera ninguno de los if. >> >> Un saludo. >> Eva >> >> >> El Jueves 10 de julio de 2014 8:58, juan(uned) <j...@edu.uned.es> >> escribió: >> >> >> 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 <mailto: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 >> Tel,f. 91 3987279 >> Fax. 91 3987288 >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org <mailto: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 [[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es