Skip to content
Prev 9445 / 15379 Next

[R-es] Crear variable con condiciones

Hola Jorge,

Con esto replico tu salida menos el segundo elemento de la columna TOENDREF.
Que en tu salida de hecho no cumple las reglas que has comentado.

#----------------------
hm0 <- rep(0,nrow(datain))
datOut <- data.frame(REF=hm0, TIMEREF=hm0, TOENDREF=hm0, NEWREF=hm0)
for( i in 1: nrow(datain)) {

  datOut$REF[i] <- datain$REF[i]
  datOut$TIMEREF[i] <- datain$TIMEREF[i]

  if(i==1) {
    datOut$TOENDREF[i] <- datain$TOENDREF[i]
    datOut$NEWREF[i] <- datain$REF[i]
  } else {
        if(datain$TIMEREF[i] <= datOut$TOENDREF[i-1] ) {
           datOut$TOENDREF[i] <- datOut$TOENDREF[i-1] - datain$TIMEREF[i]
           j <- 0
        } else {
                  datOut$TOENDREF[i] <- datain$TOENDREF[i]
                  j <- 1
               }
  }

  if(j==1) { datOut$NEWREF[i] <- datain$REF[i]
  } else { datOut$NEWREF[i] <- datOut$NEWREF[i-1]  }

}
datOut
#----------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es


El 22 de octubre de 2015, 0:07, Javier Rubén Marcuzzi <
javier.ruben.marcuzzi en gmail.com> escribió: