Exacto, Lo más cómodo es crear una copia de la variable i substituir los valors más pequeños o iguales a 0 por cero.
Un saludo, Xavi 2017-10-21 6:13 GMT+02:00 Fernando Arce via R-help-es < [email protected]>: > Hola: > El codigo que has puesto no funciona porque esta intentando crear una > variable con un numero de datos inferior al numero de filas, ya que en el > fondo estas haciendo un subset, lo que tienes que hacer es lo siguiente: > Datos$vn <- ifelse(Datos$va > 0, Datos$va, 0) > o, alternativamente > Datos$vn <- Datos$va > Datos$vn[Datos$vn <=0] <- 0 > (vn es la variable nueva y va la variable antigua) > Saludos > Fer > > El Sábado 21 de octubre de 2017 11:57, "[email protected]" < > [email protected]> escribió: > > > Hola a todos, > > Necesito crear una variable que sólo coja los valores positivos de otra, y > que los negativos o 0 los rellene con 0. Sin embargo, me está dando este > error con el código que estoy metiendo: > > Datos$variable.nueva<-Datos$variable.antigua[Datos$variable.antigua>0] > > Error in `$<-.data.frame`(`*tmp*`, Evolution.Bestselling.Positive, value = > c(0.00572935181893588, : > replacement has 1256 rows, data has 59484 > > ¿Còmo podría hacer para que las filas que no cumplen esa condición se > rellenen con 0´s? > > Gracias! > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
