¿Por qué R solo lee la mitad de la fila que se exporta desde Excel?
Estoy exportando datos sobre la inflación desde Excel a R que abarcan desde 1960 hasta 2020 en 29 países. El problema es que R no lee la fila de los años que sigue a 2007.
Otro problema es que las columnas de los años se leen como “caracter” por R desde 1960 hasta 1997. Luego cambia a “double”, como se puede ver en la imagen de abajo.
He intentado cambiar el formato de la fila de los años a “número” en Excel, pero no solucionó el problema.
Dividí los datos y copié los años que siguen a 2007 en otra hoja. Luego pude exportarlos (años de 2008 a 2020) por separado y R pudo leer la primera fila de los años sin ningún problema. No estoy seguro de qué significa eso, pero mi objetivo es exportar todos los datos de una vez desde la misma hoja. ¿Alguien podría ayudarme con eso, por favor?
Aquí está el código:
library(readxl)
CPI <- read_excel("~/Desktop/Excel sheets/CPI.xlsx")
Aquí están los datos:
https://docs.google.com/spreadsheets/d/14Xrr_0Beul4fA2LD6YIeEiBP58P0SMoF/edit?usp=sharing
davy.ai
Solución
Existen algunos pasos que puedes seguir para solucionar los problemas al leer los datos de Excel en R:
Usa el argumento
range
enread_excel()
: De forma predeterminada,read_excel()
lee la primera hoja del archivo de Excel. Sin embargo, puedes especificar un rango de celdas para leer de la hoja utilizando el argumentorange
. Por ejemplo, para leer datos de las celdas A1:D30, usaríasrange = "A1:D30"
.Combina datos de varias hojas: Si tienes datos divididos en varias hojas y deseas combinarlos en un solo marco de datos en R, puedes usar la función
rbind()
para concatenar las filas. Por ejemplo, si tienes datos en Sheet1!A1:D30 y Sheet2!A1:D30, puedes usarrbind(read_excel("ruta/al/archivo.xlsx", range = "Sheet1!A1:D30"), read_excel("ruta/al/archivo.xlsx", range = "Sheet2!A1:D30"))
para combinar los datos de ambas hojas.Aquí tienes un código actualizado para abordar estos problemas:
Ten en cuenta que deberás actualizar
ruta/al/archivo.xlsx
con la ubicación correcta del archivo en tu computadora. También puedes ajustar el argumentorange
para incluir todas las filas y columnas de tus datos.