Manejo de paquetes
Instalación: [Link]('nombre_paquete')
Ver paquetes instalados: [Link]()
Activar/Cargar: library('nombre_paquete')
Desactivar/Des-cargar: detach('package:nombre_paquete')
Paquetes cargados: search()
RStudio tiene pestaña Packages que permite instalación visual
PAQUETES QUE SE PUEDEN USAR
[Link]("openxlsx") # Para importar desde excel
[Link]("tidyverse") # Manipulación de datos y ggplot2
[Link]('modeest') # Obtener moda
[Link]('fdth') # Calcular tabla frecuencias
[Link]("prettyR") # Opcion de Descriptivas
Importar csv
Desde RStudio (R-base o paquete readr)
Import Dataset > From Text File > Escoger archivo > Abrir > Escribir nombre a la variable >
Import
Con comando
[Link]( file, sep = "," , dec = "," , stringsAsFactors= FALSE)
Para grandes volúmenes de datos usar paquete [Link]
fread()
Paquete vromm en desarrollo,
vroom()
Importar desde Excel
Copiando desde un archivo de Excel abierto
[Link]("clipboard", sep="\t", header=TRUE)
Desde RStudio
Rstudio > Import Dataset > From Excel > Escoger archivo > Abrir > Escribir nombre a la variable > Import
Usando el paquete openxlsx
[Link](xlsxFile , sheet , startRow , colNames , skipEmptyRows, rowNames)
data_tiempo_espera <- [Link](xlsxFile = 'Data/Data_Banco.xlsx')
Otros paquetes
[Link], XLConnect, xlsx, readxl, rio
Exportar a excel
Descargar Rtools
Instalar Rtools
Se debe escoger “agregar al path”
Si la computadora ya tiene CYGWIN, se tiene un tratamiento especial
Usando el paquete openxlsx
[Link](x, file, asTable = FALSE, ...)
Se puede usar los paquetes XLConnect, xlsx, etc.
Ejemplo - Importar
# Cargar la libreria a utilizar
library(openxlsx)
# Leer el archivo de excel y asignarlo al objeto data_banco
data_banco <- [Link](xlsxFile = "Data/Data_Banco.xlsx", sheet = "Data")
data_sucursal <- [Link](xlsxFile = "Data/Data_Banco.xlsx", sheet = "Data_Sucursal")
[Link]
[Link] es una lista de vectores, cumple:
Las componentes son vectores
Cada vector puede se de un tipo de dato distinto
Cada elemento, columna es una variable
Las columnas tienen el mismo largo
Se podría decir que un [Link] es como una tabla en una hoja de excel
Crear un [Link]
Nombre <- c('Ana', 'Berni', 'Carlos')
Edad <- c(20,19,20)
Ciudad <- factor(c('Gye', 'Uio', 'Cue'))
df_1 <- [Link](Nombre, Edad, Ciudad)
df_1
Nombre Edad Ciudad
1 Ana 20 Gye
2 Berni 19 Uio
3 Carlos 20 Cue
Otra forma de Crear un [Link]
df_3 <- [Link]( Nombre= c('Ana', 'Berni', 'Carlos'),
Edad = c(20,19,20),
Ciudad= factor(c('Gye', 'Uio', 'Cue')) )
df_3
Nombre Edad Ciudad
1 Ana 20 Gye
2 Berni 19 Uio
3 Carlos 20 Cue
Tipos de variables y su correspondencia en R
Tipos de datos
Al importar los datos es posible que no estén en el formato correcto, podemos pasar de un tipo de dato a otro (siempre que sea
posible), usando R-base
[Link](x)
[1] 11 12 13 14
[Link](im)
[1] 3
[Link](data_factor)
[1] "alto" "bajo" "alto" "alto"
[Link](x)
[1] 11 12 13 14
Levels: 11 12 13 14
Seleccionar columnas y aplicar una función
Seleccionar la columna Tiempo_Servicio_seg y obtener un boxplot
# Seleccionar la columna Tiempo_Servicio_seg y obtener un boxplot
# boxplot(data_banco$Tiempo_Servicio_seg) ## Base de R
data_banco %>% select(Tiempo_Servicio_seg) %>% boxplot
Medidas de Tendencia Central
Media.- Promedio de los valores
Se la puede entender como el punto de equilibrio
Muy sensible a valores aberrantes
En R: mean(x, [Link]= TRUE)
Media Acotada.- Promedio de los valores, pero quitando un porcentaje de valores extremos.
Es menos sensible a valores aberrantes
Se puede perder información importante
En R: mean(x, [Link]= TRUE, trim)
Medidas de Tendencia Central
Mediana.- Punto medio de los valores una vez que se han ordenado de menor a mayor o de mayor a
menor.
Valor importante pero poco usado
No es sensible a valores aberrantes
En R: median(x, [Link]= TRUE)
Media Ponderada.- Promedio de los valores, pero asignando un peso diferente a cada valor.
Normalmente se utiliza cuando se tiene datos agrupados
Es también sensible a valores aberrantes
En R: [Link](x, w, …, [Link] = TRUE)
Medidas de Tendencia Central
Moda.- Valor de la observación que aparece con mayor frecuencia.
Mejor análisis se obtiene con una tabla de frecuencias
En R:
library('modeest')
mlv(x)
Calcular las medidas de Tendencia central para la data de Banco
# Media
# mean(data_banco$Tiempo_Servicio_seg, [Link] = TRUE) ## Base R
data_banco %$% mean(Tiempo_Servicio_seg, [Link] = TRUE)
[1] 155.58
# Media acotada al 10%
data_banco %$% mean(Tiempo_Servicio_seg, trim = 0.05, [Link] = TRUE)
[1] 141.9233
Calcular las medidas de Tendencia central para la data de Banco
# Cargar paquete
library('modeest')
# Moda
mlv(data_banco$Tiempo_Servicio_seg)
[1] 84.13594
Medidas de Posición
Min y Max
En R, min(x, [Link] = TRUE), max(x, [Link] = TRUE)
Cuartiles.- Dividen al conjunto de observaciones en 4 partes iguales
El segundo cuartil es la mediana
En R quantile(x , probs = c(0.25, 0.50, 0.75))
Deciles.- Dividen al conjunto de observaciones en 10 partes iguales
El quinto decil sería igual a la mediana
En R quantile(x , probs = seq(from = 0.1, to = 1, by = 0.1))
Centiles.- Dividen al conjunto de observaciones en 100 partes iguales
El quincuagésimo centil es la mediana
En R quantile(x, probs )
Entendiendo los cuartiles
Boxplot.- Muestra gráficamente las medidas de posición
boxplot(data_banco$Tiempo_Servicio_seg, main= "Boxplot para Tiempo de Servicio (seg)", ylab= "Tiempo")
Medidas de Dispersión
Rango intercuartil.- Distancia entre el cuartil 1 y 3
En R IQR(x, [Link] = TRUE)
Rango.- Diferencia entre maximo y minimo valor
En R diff(range(x, [Link] = TRUE))
Calcular las medidas de dispersión
# Varianza, de la base data_banco, de la variable Tiempo_Servicio_seg,
var(data_banco$Tiempo_Servicio_seg, [Link] = TRUE) # [Link] = TRUE no permite tomar valores en blanco
[1] 14402.27
# Desviacion
sd(data_banco$Tiempo_Servicio_seg, [Link] = TRUE)
[1] 120.0095
# Mediana de las desviaciones absolutas
mad(data_banco$Tiempo_Servicio_seg, [Link] = TRUE)
[1] 82.35503
# Rango intercuartil
IQR(data_banco$Tiempo_Servicio_seg, [Link] = TRUE)
[1] 122.0393
# Min Max
range(data_banco$Tiempo_Servicio_seg, [Link] = TRUE)
[1] 18.13177 1602.69832
# Rango
diff(range(data_banco$Tiempo_Servicio_seg, [Link] = TRUE))
[1] 1584.567