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

Responder a