UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERÍA EN ESTADÍSTICA

GRUPO 5

Autores: Nicole Bauz, Natali Caizaguano, Anahi Chamba, Gandy Churta

Fecha de Publicación: 15/1/2023

Docente: Ing. Francisco Valverde PhD

EJERCICIOS DE EXPORTACIÓN E IMPORTACIÓN DE ARCHIVOS EN R

EJERCICIOS SOBRE TRATAMIENTO DE ARCHIVOS:

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.

getwd()
setwd(“..”) # “sube” al directorio padre del actual setwd(“mi_proyecto/src”) # ruta relativa setwd(“c:/users/yo/proyecto”) # ruta absoluta en Windows setwd(“/home/yo/proyecto”) # ruta absoluta en Linux y otros dir() # contenidos del directorio “de trabajo” Una llamada típica a read.table para leer un fichero es así:

datos <- read.table(“data_dir/mi_fichero.csv”, sep = “, header = TRUE) Examinénmosla:

datos es el nombre de la tabla que recibirá la información leída por read.table; de no hacerse la asignación, R se limitará a imprimirlos en la consola. “data_dir/mi_fichero.csv” (¡entrecomillado!) es la ruta del fichero de interés. Se trata de una ruta relativa al directorio de trabajo, que se supone que contiene el subdirectorio data_dir y, dentro de él, el fichero mi_fichero.csv. sep = “ indica que los campos del fichero están separados por tabuladores (sí, el tabulador es . Muchos ficheros tienen campos separados por, además del tabulador, caracteres tales como ,, ;, | u otros. Es necesario indicárselo a R y la manera de averiguar qué separador usa un fichero, si es que no se sabe, es abriéndolo previamente con un editor de texto decente11. header = TRUE indica que la primera fila del fichero contiene los nombres de las columnas. Si olvidas especificarlo y la primera fila del fichero contiene efectivamente el nombre de las columnas, R interpretará estas, erróneamente, como datos. 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:

dec, para indicar el separador de decimales. Por defecto es ., pero en ocasiones hay que cambiarlo a dec = “,” para que interprete correctamente, p.e., el antiguo estándar español (p.e., 67,56 en lugar de 67.56). quote, que indica qué caracter se usa para acotar campos de texto. En algunas ocasiones aparecen campos de texto que contienen apóstrofes (p.e., calle O’Donnell) y la carga de datos puede fracasar de no indicarse quote = ““. Esta expresión desactiva el papel especial de acotación de campos de texto que por defecto tienen las comillas.

Ejercicio 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.

getwd()
setwd("C:/Users/salom/Downloads")

datos<-read.table(file="paro.csv", header = T)
datos

head(datos)
tail(datos)
nrow(datos)
summary(datos)

Ejercicio 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.

datos2<-read.table(file="paro.csv")
datos2
head(datos2)
tail(datos2)
nrow(datos2)
summary(datos2)

Ejercicio 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).

Paso 1: Leer y cargar nuestros datos como un archivo csv separado por ;

pro_impor_dic_2022 <- read.csv("C:\\Users\\Angel Fabricio\\Downloads\\appb_reporteproductosimportacion_2022_12.csv", header = T,sep = ";")
pro_impor_dic_2022

Paso 2: Explorar objetos

# Para visualizar los primeros datos
head(pro_impor_dic_2022)
# Para visualizar los ultimos datos
tail(pro_impor_dic_2022)
# Para visualizar el numero de filas
nrow(pro_impor_dic_2022) 

Paso 3: Utilizamos summary para obtener estadísticas de nuestra base de datos, tomando en cuenta solo los conjuntos numéricos

summary(pro_impor_dic_2022)

Ejercicio 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.

datos4 <- read_tsv("https://datanalytics.com/uploads/datos_treemap.txt.", header = T)

En vista de que la página web asignada no está disponible, haremos la demostración con una página diferente

datos5 <- read.table("http://www.sthda.com/upload/boxplot_format.txt", header = T)
datos5
##      Nom variable Group
## 1   IND1       10     A
## 2   IND2        7     A
## 3   IND3       20     A
## 4   IND4       14     A
## 5   IND5       14     A
## 6   IND6       12     A
## 7   IND7       10     A
## 8   IND8       23     A
## 9   IND9       17     A
## 10 IND10       20     A
## 11 IND11       14     A
## 12 IND12       13     A
## 13 IND13       11     B
## 14 IND14       17     B
## 15 IND15       21     B
## 16 IND16       11     B
## 17 IND17       16     B
## 18 IND18       14     B
## 19 IND19       17     B
## 20 IND20       17     B
## 21 IND21       19     B
## 22 IND22       21     B
## 23 IND23        7     B
## 24 IND24       13     B
## 25 IND25        0     C
## 26 IND26        1     C
## 27 IND27        7     C
## 28 IND28        2     C
## 29 IND29        3     C
## 30 IND30        1     C
## 31 IND31        2     C
## 32 IND32        1     C
## 33 IND33        3     C
## 34 IND34        0     C
## 35 IND35        1     C
## 36 IND36        4     C
## 37 IND37        3     D
## 38 IND38        5     D
## 39 IND39       12     D
## 40 IND40        6     D
## 41 IND41        4     D
## 42 IND42        3     D
## 43 IND43        5     D
## 44 IND44        5     D
## 45 IND45        5     D
## 46 IND46        5     D
## 47 IND47        2     D
## 48 IND48        4     D
## 49 IND49        3     E
## 50 IND50        5     E
## 51 IND51        3     E
## 52 IND52        5     E
## 53 IND53        3     E
## 54 IND54        6     E
## 55 IND55        1     E
## 56 IND56        1     E
## 57 IND57        3     E
## 58 IND58        2     E
## 59 IND59        6     E
## 60 IND60        4     E
## 61 IND61       11     F
## 62 IND62        9     F
## 63 IND63       15     F
## 64 IND64       22     F
## 65 IND65       15     F
## 66 IND66       16     F
## 67 IND67       13     F
## 68 IND68       10     F
## 69 IND69       26     F
## 70 IND70       26     F
## 71 IND71       24     F
## 72 IND72       13     F

Ejercicio 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.

#Se asignará a una variable el link del fichero, luego se hará uso de la función download.file 
download.file(url = "https://datanalytics.com/uploads/datos_treemap.txt",
              destfile = "Datos_Analisis")

#Para leer el fichero ya descargado se hará uso de la función read.table.
read.table("Datos_Analisis")