Por supuesto, no nos vamos a limitar a trabajar con datos de ejemplo provistos por R: queremos utilizar también nuestras propias tablas. En R hay decenas de maneras de importar datos tabulares desde distintas fuentes (Excel, bases de datos, SPSS, etc.) pero la más habitual consiste en leer ficheros de texto con la función read.table.
Existen muchas variantes de ficheros de texto: csv, ficheros separados con tabulador, con y sin encabezamientos, con distintos códigos para representar los nulos, etc. La función read.table es muy flexible y tiene muchos parámetros, casi demasiados, para adaptarse a la mayor parte de ellos10.
Antes de comenzar a utilizarla, sin embargo, es necesaria una digresión acerca de directorios y directorios de trabajo. El directorio de trabajo es aquel en el que R busca y escribe ficheros por defecto. Las funciones getwd y setwd permiten, respectivamente, averiguar cuál es y cambiarlo si procede. De todos modos, la mejor manera de especificar el directorio de trabajo en RStudio es usando los menús: Files > More > Set as working directory.
datos <- read.table(“data_dir/mi_fichero.csv”, sep = “, header = TRUE)
Examinénmosla:
Con una expresión similar a esa, tal vez cambiando el separador, se leen la mayoría de los ficheros de texto habituales. Otras opciones de las muchas que tiene read.table que pueden ser útiles en determinadas ocasiones son:
Ejercicio N°1
Lee el fichero paro.csv (ARCHIVO ADJUNTO) usando la función read.table. Comprueba que está correctamente importado usando head, tail, nrow, summary, etc. Para leer la tabla necesitarás leer con cierto detenimiento ?read.table.
###Ejercicio 1
library(readr)
## Warning: package 'readr' was built under R version 4.2.3
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
# 1. Obtener el directorio de trabajo actual
getwd()
## [1] "C:/Users/USUARIO2021/OneDrive/Desktop/T9"
# 2. Establecer el directorio de trabajo a "C:/Rs"
setwd("C:/Rs")
# 3. Listar los archivos en el nuevo directorio de trabajo
dir()
## [1] "Apuesta.txt" "Datos_Analisis" "paro.csv"
# 4. Leer el archivo CSV "paro.csv" y almacenarlo en un objeto llamado "paro"
paro <- read.csv(file = "paro.csv", header = TRUE, sep = "")
2)Explorar objetos
# 5. Mostrar las primeras filas del conjunto de datos "paro" para visualizar los primeros datos
head(paro)
# 6. Mostrar las últimas filas del conjunto de datos "paro" para visualizar los últimos datos
tail(paro)
# 7. Obtener el número de filas en el conjunto de datos "paro"
nrow(paro)
## [1] 8320
# 8. Mostrar estadísticas resumidas de las variables en el conjunto de datos "paro"
summary(paro)
## Gender Provinces Periodo Situation
## Length:8320 Length:8320 Length:8320 Length:8320
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## value
## Min. : 0.0
## 1st Qu.: 14.4
## Median : 61.9
## Mean : 120.1
## 3rd Qu.: 144.7
## Max. :1828.9
## NA's :1
Ejercicio N°2
Repite el ejercicio anterior eliminando la opción header = TRUE. Examina el resultado y comprueba que, efectivamente, los datos no se han cargado correctamente.
#EJERCICIO 2:
# Establecer el directorio de trabajo
setwd("C:/Rs")
# Leer el archivo "paro.csv" y almacenarlo en el objeto "paro_data_sin_encabezado"
paro_data_sin_encabezado <- read.table(file = "paro.csv", header = TRUE, sep = ",")
# Mostrar las primeras filas del conjunto de datos "paro_data_sin_encabezado"
head(paro_data_sin_encabezado)
# Mostrar las últimas filas del conjunto de datos "paro_data_sin_encabezado"
tail(paro_data_sin_encabezado)
# Obtener el número de filas en el conjunto de datos "paro_data_sin_encabezado"
nrow(paro_data_sin_encabezado)
## [1] 8320
# Mostrar estadísticas resumidas de las variables en el conjunto de datos "paro_data_sin_encabezado"
summary(paro_data_sin_encabezado)
## Gender.Provinces.Periodo.Situation.value
## Length:8320
## Class :character
## Mode :character
Ejercicio N°3
Lee algún fichero de datos de tu interés y repite el ejercicio anterior (CADA GRUPO USARÁ SU ARCHIVO DE PREFERENCIA Y LO EXPLICARÁ EN LA EXPOSICIÓN).
#Ejercicio 3
# Establecer el directorio de trabajo
setwd("C:/Rs")
# Leer el archivo "Apuesta.txt" y almacenarlo en el objeto "apuesta"
apuesta <- read.table("Apuesta.txt", sep = "", header = TRUE)
# Mostrar el contenido del conjunto de datos "apuesta"
apuesta
# Mostrar las primeras filas del conjunto de datos "apuesta" para visualizar los primeros datos
head(apuesta)
# Mostrar las últimas filas del conjunto de datos "apuesta" para visualizar los últimos datos
tail(apuesta)
# Obtener el número de filas en el conjunto de datos "apuesta"
nrow(apuesta)
## [1] 15
# Mostrar estadísticas resumidas de las variables en el conjunto de datos "apuesta"
summary(apuesta)
## ID Usuario Evento Monto
## Min. : 1.0 Length:15 Length:15 Min. : 10.0
## 1st Qu.: 4.5 Class :character Class :character 1st Qu.: 27.5
## Median : 8.0 Mode :character Mode :character Median : 45.0
## Mean : 8.0 Mean : 48.0
## 3rd Qu.:11.5 3rd Qu.: 67.5
## Max. :15.0 Max. :100.0
## Resultado
## Length:15
## Class :character
## Mode :character
##
##
##
Ejercicio N°4
En read.table y sus derivados puedes indicar, además de ficheros disponibles en el disco duro, la URL de uno disponible en internet. Prueba a leer directamente el fichero disponible en https://datanalytics.com/uploads/datos_treemap.txt. Nota: es un fichero de texto separado por tabuladores y con nombres de columna.
fichero<-read.table( "https://datanalytics.com/uploads/datos_treemap.txt", sep = "\t",header = T)
fichero
#View(fichero): Abre una vista en una ventana separada (en RStudio) para explorar los datos de manera interactiva.
View(fichero)
#head(fichero): Muestra las primeras filas del data frame
head(fichero)
#nrow(fichero): Muestra el número de filas en el data frame.
nrow(fichero)
## [1] 34
#summary(fichero): Proporciona un resumen estadístico de las columnas del data frame, incluyendo el mínimo, 1er cuartil, mediana, media, 3er cuartil y máximo.
summary(fichero)
## valor cap div
## Length:34 Min. : 838 Min. : 0.200
## Class :character 1st Qu.: 1921 1st Qu.: 4.565
## Mode :character Median : 4000 Median : 5.855
## Mean :10359 Mean : 6.013
## 3rd Qu.:11488 3rd Qu.: 7.665
## Max. :57917 Max. :12.040
## NA's :2
area4 <- c(12.5,16,9.5,10,NA,NA)
Ejercicio N°5
Alternativamente, si quieres leer un fichero remoto, puedes descargarlo directamente desde R. Consulta la ayuda de download.file para bajarte al disco duro el fichero del ejercicio anterior (EJERCICIO 5) y leerlo después.
# Ejercicio 5
# 1. Descargar el archivo desde la URL proporcionada y guardarlo localmente como "Datos_Analisis"
download.file(url = "https://datanalytics.com/uploads/datos_treemap.txt",
destfile = "Datos_Analisis")
# 2. Leer la tabla desde el archivo descargado con encabezados de columna
datos_analisis <- read.table("Datos_Analisis", header = TRUE)