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]]