Foro de debate

Generar variable a partir de ecuaciones

 
Imagen de David Martínez Briseño
Generar variable a partir de ecuaciones
de David Martínez Briseño - miércoles, 9 de agosto de 2017, 17:09
 

Hola,

Quiero generar una variable (fev1nh) a partir de  4 ecuaciones. El uso de cada ecuación está condicionada a ciertos valores de otras dos variables.

Ejemplo: En la base tengo las siguientes variables: sex, age, age2 y height2.

Mi codificación es:

 if (datos$sex=="Women" & datos$age<18) {
    datos$fev1nh<-(-0.9641+0.06490*datos$age+0.00012154*datos$height2)
  } else if (datos$sex=="Women" & datos$age>=18) {
    datos$fev1nh<-(-0.4529-0.01178*datos$age-0.000113*datos$age2+0.00012154*datos$height2)
  } else if (datos$sex=="Men"   & datos$age<20){
    datos$fev1nh<-(-0.8218-0.04248*datos$age-0.004291*datos$age2+0.00015104*datos$height2)
  } else if (datos$sex=="Men"   & datos$age>=20) {
    datos$fev1nh<-(0.6306-0.02928*datos$age+0.00015104*datos$height2)
  } else 0

El error es:

Warning messages:
1: In if (datos$sex == "Women" & datos$age < 18) { :
  the condition has length > 1 and only the first element will be used
2: In if (datos$sex == "Women" & datos$age >= 18) { :
  the condition has length > 1 and only the first element will be used

Aunque calcula unos valores, no son correctos


¿Me podrían ayudar?

Gracias,