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!
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, "miriam.alzate en unavarra.es" <miriam.alzate en unavarra.es> 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 R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
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 < r-help-es en r-project.org>:> 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, "miriam.alzate en unavarra.es" < > miriam.alzate en unavarra.es> 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 > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]