Skip to content

[R-es] Replacement error

4 messages · miriam.alzate en unavarra.es, Fernando Arce, Xavier-Andoni Tibau Alberdi

#
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:
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:
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
#
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>:

  
  
1 day later
#
Perfecto, muchas gracias! Solucionado.

El Sab, 21 de Octubre de 2017, 8:36, Xavier-Andoni Tibau Alberdi escribió: