es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En R, por alguna razón, no puedo utilizar la función tidyr:fill.

Tengo un dataframe como el siguiente:

     Date Bond2 Bond3 Bond5 Bond6
3218 44492    NA    NA    NA    NA
3219 44493    NA    NA    NA    NA
3220 44494  0,13  0,41  0,73  1,05
3221 44495  0,13  0,41  0,74  1,07
3222 44496  0,14  0,56  0,95  1,22
3223 44497  0,16  0,83  1,22  1,44
3224 44498  0,15  0,82  1,25  1,54
3225 44499    NA    NA    NA    NA
3226 44500    NA    NA    NA    NA
3227 44501  0,15  0,71  1,09  1,38
3228 44502  0,15  0,73  1,09  1,39
3229 44503  0,09  0,59  0,93  1,27
3230 44504  0,13  0,65  1,01  1,31
3231 44505  0,10  0,58  0,97  1,29
3232 44506    NA    NA    NA    NA
3233 44507    NA    NA    NA    NA
3234 44508 -0,02  0,57  0,95  1,25

Quiero usar el siguiente código: data <- fill(data) Sin embargo, no ocurre nada cuando lo hago.

Luego, si intento por ejemplo data$Bond2 <- fill(data$Bond2), obtengo el siguiente error:

Error in UseMethod("fill") : 
  no applicable method for 'fill' applied to an object of class "c('double', 'numeric')"

¿Cómo puedo solucionar esto? He intentado convertir a caracteres, pero aún así no funciona. Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en que la función fill() no está siendo reconocida. La función fill() es parte del paquete tidyr, ¿es posible que aún no hayas cargado el paquete tidyr?

    Intenta ejecutar el siguiente comando para cargar el paquete tidyr:

    library(tidyr)
    

    Luego vuelve a ejecutar el código data <- fill(data). Esto debería funcionar ahora.

    Respecto al mensaje de error que recibiste al intentar aplicar fill() a columnas individuales, parece que estabas intentando aplicar la función a un vector numérico en lugar de un dataframe. Para llenar valores específicos de columnas en un dataframe, puedes utilizar la función fill() de la siguiente manera:

    data <- fill(data, Bond2)
    

    Esto debería llenar los valores faltantes en la columna Bond2. Puedes reemplazar Bond2 por cualquier otro nombre de columna según sea necesario.

Comments are closed.