4.1 Lectura de bases de datos
4.1.1 Archivos delimitados
Modo de uso de la función read.csv()
para la carga de archivos delimitados por comas, extensión .csv
:
### Argumentos a utilizar
read.csv("archivo.csv", # Nombre o ruta completa al archivo
sep = ",", # Separador de los valores
dec = ".", # Punto decimal
header = TRUE, # Leer el encabezado (TRUE) o no (FALSE)
fill = TRUE) # Rellenar celdas vacías: sí (TRUE, por defecto) o no (FALSE)
Los argumentos por defecto de read.csv()
permiten cargar un archivo con encabezados, rellenar las celdas vacías con NA (recomendado), con el separador de celdas coma ,
y el separador de decimales .
. Si el documento de interés tiene estas características, bastará con colocar lo siguiente para cargarlo:
read.csv("datos_investig.csv")
Modo de uso de la función read.csv()
para la carga de archivos delimitados por comas, extensión .csv
:
### Argumentos a utilizar
read.csv("archivo.csv", # Nombre o ruta completa al archivo
sep = ",", # Separador de los elementos
dec = ".", # Separador decimal
header = TRUE, # Leer el encabezado (TRUE, por defecto) o no (FALSE)
fill = TRUE) # Rellenar celdas vacías: sí (TRUE, por defecto) o no (FALSE)
Por otro lado, existe read.csv2()
que hace lo mismo que la anterior, pero para tablas que cuenten con el separador de celdas punto y coma ;
y el separador de decimales ,
. Todo dependerá de cómo esté configurado tu archivo original.
read.csv2("datos_investig2.csv")
Otros argumentos interesantes en ambas funciones son:
### Para definir qué valores sean considerados como NA (y no solo las celdas vacías)
read.csv2("datos_investig3.csv", na.strings = c("Na", "NA", "-9999"))
### Para coercer las columnas de texto a factor al leer el documento
read.csv2("datos_investig3.csv", stringsAsFactos = TRUE)
### Para no cargar ciertas filas del documento (por ejemplo la fila 10)
read.csv2("datos_investig3.csv", skip = 10)
4.1.2 Archivos tabulados
Modo de uso de la función read.table()
para la carga de archivos delimitados por tabulaciones, extensión .txt
:
### Argumentos a utilizar
read.table("archivo.txt", # Nombre o ruta completa al archivo
sep = "", # Separador de los elementos
dec = ".", # Separador decimal
header = FALSE) # Leer el encabezado (TRUE) o no (FALSE, por defecto)
Otros argumentos interesantes son idénticos a los encontrados en las funciones mostradas anteriormente:
### Para definir qué valores sean considerados como NA (y no solo las celdas vacías)
read.table("datos_investig3.txt", na.strings = c("Na", "NA", "-9999"))
### Para coercer las columnas de texto a factor al leer el documento
read.table("datos_investig3.txt", stringsAsFactos = TRUE)
### Para no cargar ciertas filas del documento (por ejemplo la fila 10)
read.table("datos_investig3.txt", skip = 10)
4.1.3 Archivos delimitados con otros caracteres
Una función versátil es read.delim()
y su compañera read.delim2()
. Ambas permiten cargar archivos delimitados por cualquier carácter. Realizan carga de archivos tal y como lo hacen read.csv()
, read.csv2()
o read.table()
.
read.delim("archivo.txt", # Nombre o ruta completa al archivo (puede ser .csv también)
sep = "\t", # Separador de columnas
dec = ".", # Separador decimal
header = TRUE, # Leer el encabezado (TRUE, por defecto) o no (FALSE)
fill = TRUE) # Rellenar celdas vacías: sí (TRUE, por defecto) o no (FALSE)
read.delim2("archivo.txt", # Nombre o ruta completa al archivo (puede ser .csv también)
sep = "\t", # Separador de columnas
dec = ",", # Separador decimal
header = TRUE, # Leer el encabezado (TRUE, por defecto) o no (FALSE)
fill = TRUE) # Rellenar celdas vacías: sí (TRUE, por defecto) o no (FALSE)
Cuando se define el sep = "\t"
leen archivos tabulados; sep = " "
, separados por espacios; sep = ","
, separados por comas; o sep = ";"
, separados por punto y coma. Se podrá colocar el separador respectivo en caso sea uno diferente a los mencionados.
4.1.4 Hojas de cálculo de Excel
Existen varias librerías para cargar archivos de excel en R, con extensión .xlsx
. Se recomienda el uso de la librería openxlsx, por su simplicidad de uso y porque no demanda de instalaciones adicionales de otros programas.
library(openxlsx)
read.xlsx("archivo.xslx", # Nombre o ruta completa al archivo
colNames = TRUE, # Leer el encabezado (TRUE, por defecto) o no (FALSE)
na.strings = c("Na", "NA", "-9999"), # Valores a ser considerados como NA
sep.names = ".") # Rellena los espacios de los nombres de columnas con .
readxl::read_xls("archivo.xls")
4.1.5 Bases de datos de R
Los archivos de extensión .rda
son la forma más sencilla de compartir bases de datos que solo serán abiertas en el entorno de R. No son leídas con otro programa. Lo interesante de estas bases es que almacenan el nombre del objeto original con el que fueron creadas en R. Una vez cargas el archivo con la función load()
, el objeto aparecerá en el ambiente con su nombre original (no necesariamente el mismo nombre que el archivo.rda):
load("archivo.rda")
.RData
que aparecen automáticamente uno crea un proyecto. Estos son los archivos que almacenan el ambiente de un proyecto, es decir, todas las variables creadas durante la sesión de RStudio, y que fueron guardadas al cerrar esta misma.
4.1.6 Archivos de SPSS
En algunas ocasiones, los investigadores que manejen SPSS querrán abrir sus archivos de datos, con extensión .SAV
, para generar gráficos o análisis en R. Esto es posible gracias a la integración realizada por una librería de tidyverse llamada haven:
library(haven)
read_sav("archivo.SAV")