Hasta aquí hemos visto múltiples funciones que están contenidas dentro del lenguaje básico de R. Ahora bien, al tratarse de un software libre, los usuarios de R con más experiencia contribuyen sistemáticamente a expandir este lenguaje mediante la creación y actualización de paquetes complementarios. Lógicamente, los mismos no están incluidos en la instalación inicial del programa, pero podemos descargarlos e instalarlos al mismo tiempo con el siguiente comando:
install.packages("nombre_del_paquete")
Resulta recomendable ejecutar este comando desde la consola ya que sólo necesitaremos correrlo una vez en nuestra computadora. Al ejecutar el mismo, se descargarán de la pagina de CRAN los archivos correspondientes al paquete hacia el directorio en donde hayamos instalado el programa. Típicamente los archivos se encontrarán en C:\Program Files\R\R-3.5.0\library\
, siempre con la versión del programa correspondiente.
Una vez instalado el paquete, cada vez que abramos una nueva sesión de R y querramos utilizar el mismo debemos cargarlo al ambiente de trabajo mediante la siguiente función:
library(nombre_del_paquete)
Nótese que al cargar/activar el paquete no son necesarias las comillas.
Hay muchas funciones para leer archivos de tipo .txt y .csv. La mayoría sólo cambia los parámetros que vienen por default.
Es importante tener en cuenta que una base de datos que proviene de archivos .txt, o .csv puede presentar diferencias en cuanto a los siguientes parámetros:
,
, tab, ;
)dataframe <- read.delim(file, header = TRUE, sep = "\t", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...)
Ejemplo. Levantar la base de sueldos de funcionarios
En el parametro file
tengo que especificar el nombre completo del archivo, incluyendo el directorio donde se encuentra. Lo más sencillo es abrir comillas, apretar Tab
y se despliega el menú de las cosas que tenemos en el directorio de trabajo. Si queremos movernos hacia arriba, agregamos ../
sueldos_funcionarios <- read.table(file = '../fuentes/sueldo_funcionarios_2019.csv',sep=",", header = TRUE)
sueldos_funcionarios[1:10,]
Como puede observarse aquí, la base cuenta con 94 registros y 10 variables.
Al trabajar con bases de microdatos, resulta conveniente contar con algunos comandos para tener una mirada rápida de la base, antes de comenzar a realizar los procesamientos que deseemos.
Veamos algunos de ellos:
#view(sueldos_funcionarios)
names(sueldos_funcionarios)
[1] "cuil" "anio"
[3] "mes" "funcionario_apellido"
[5] "funcionario_nombre" "repartición"
[7] "asignacion_por_cargo_i" "aguinaldo_ii"
[9] "total_salario_bruto_i_._ii" "observaciones"
summary(sueldos_funcionarios)
cuil anio mes funcionario_apellido
20-13872301-2: 3 Min. :2019 Min. :1.00 ACUÑA : 3
20-14699669-9: 3 1st Qu.:2019 1st Qu.:2.00 ASTARLOA : 3
20-16891528-5: 3 Median :2019 Median :3.00 AVELLANEDA: 3
20-16891539-0: 3 Mean :2019 Mean :3.34 AVOGADRO : 3
20-17110752-1: 3 3rd Qu.:2019 3rd Qu.:5.00 BENEGAS : 3
20-17692128-6: 3 Max. :2019 Max. :6.00 BOU PEREZ : 3
(Other) :76 (Other) :76
funcionario_nombre
ANA MARIA : 3
BRUNO GUIDO : 3
CHRISTIAN : 3
DIEGO CESAR : 3
DIEGO HERNAN : 3
EDUARDO ALBERTO: 3
(Other) :76
repartición
Consejo de los Derechos de Niñas, Niños y Adoles - Presidencia: 3
Ente de Turismo Ley Nº 2627 : 3
Jefatura de Gabinete de Ministros : 3
Jefe de Gobierno : 3
Ministerio de Ambiente y Espacio Público : 3
Ministerio de Cultura : 3
(Other) :76
asignacion_por_cargo_i aguinaldo_ii total_salario_bruto_i_._ii observaciones
Min. :197746 Min. : 0 Min. :197746 :93
1st Qu.:217520 1st Qu.: 0 1st Qu.:217805 baja 28/2/2019: 1
Median :226866 Median : 0 Median :226866
Mean :224718 Mean : 14843 Mean :239560
3rd Qu.:231168 3rd Qu.: 0 3rd Qu.:248033
Max. :249662 Max. :113433 Max. :340300
head(sueldos_funcionarios)[,1:5]
Para leer y escribir archivos excel podemos utilizar los comandos que vienen con la librería openxlsx
# install.packages("openxlsx") # por única vez
library(openxlsx) #activamos la librería
# creamos una tabla cualquiera de prueba
x <- 1:10
y <- 11:20
tabla_de_R <- data.frame(x,y)
# escribimos el archivo
write.xlsx(x = tabla_de_R, file = "../resultados/archivo.xlsx", row.names = FALSE)
Note: zip::zip() is deprecated, please use zip::zipr() instead
# Donde lo guardó? Hay un directorio por default en caso de que no hayamos definido alguno.
# getwd()
# Si queremos exportar multiples dataframes a un Excel, debemos armar previamente una lista de ellos. Cada dataframe se guardará en una pestaña de excel, cuyo nombre corresponderá al que definamos para cada Dataframe a la hora de crear la lista.
Lista_a_exportar <- list("sueldos funcionarios" = sueldos_funcionarios,
"Tabla Numeros" = tabla_de_R)
write.xlsx(x = Lista_a_exportar, file = "../resultados/archivo_2_hojas.xlsx", row.names = FALSE)
# leemos el archivo especificando la ruta (o el directorio por default) y el nombre de la hoja que contiene los datos
Indices_Salario <- read.xlsx(xlsxFile = "../resultados/archivo_2_hojas.xlsx", sheet = "sueldos funcionarios")
# alternativamente podemos especificar el número de orden de la hoja que deseamos levantar
Indices_Salario <- read.xlsx(xlsxFile = "../resultados/archivo_2_hojas.xlsx", sheet = 1)
Indices_Salario[1:10,]