Este documento ha sido elaborado como material de apoyo para el curso de Estadística y Probabilidad I. En el son incorporados varios ejemplos resueltos con el software estadístico \(R\) y relacionados a los conceptos estudiados en la materia. En cada sección se incluyen los códigos necesarios para realizar las simulaciones que permiten verificar las propiedades y teoremas que son abordados en el curso. Para que puedas replicarlos basta con que tengas instalado el programa ya sea en la versión simple o la incorporada en la versión R-studio, copia los códigos y ejecútalos en un script en tu escritorio. Adicionalmente se incluyen una serie de estudios de casos para que puedas aplicar las teorías en la solución de problemas reales y así asimilar los contenidos del curso. Es imprescindible que como egresado de la carrera de Estadísticas tengas manejo de al menos una herramienta para el análisis estadístico, y R es una excelente opción que tienes y es totalmente gratuito.
R es un programa estadístico de libre acceso con funcionalidades imprescindibles para la programación y análisis estadístico.
A continuación te dejamos algunos enlaces interesantes para aprender a usar R como herramienta para el análisis estadístico
Puede resultar de mucha utilidad trabajar y guardar los comandos usados en un “script” de R. El script es básicamente un documento de texto donde uno puede ir escribiendo todos los comandos a ejecutar. Considerando el hecho de que si se antepone a una línea de comando el signo #, este no será ejecutado y el programa lo considerará como un comentario.
Figure 3.1: Script en R
#install.packages("agricolae")
library("hrbrthemes")
library("ggplot2")
library("dplyr")
library("viridis")
library("forcats")
library("dplyr")
library("data.table")
library("agricolae") #Para crear tablas de frecuencias agrupad
Puedes usar el programa R como una calculadora, basta con conocer cuáles son los signos y comandos a utilizar para realizar las opereaciones. Copia los comandos en tu script de R y ejecútalos para ver los resultados.
#suma
2+2
## [1] 4
#multiplicación
2*2
## [1] 4
#división
2/2
## [1] 1
#potencia
4^2
## [1] 16
#raíz cuadrada
sqrt(16)
## [1] 4
Una de las cosas más importantes a la hora de trabajar con R es aprender a usar la ayuda. Para obtener la ayuda sobre alguna función o comando de R basta con escribir el comando help() y dentro del paréntesis incluir el nombre de la función o comando
help("mean")
Figure 3.2: La ayuda de R
Un primer paso para usar R en el estudio de la Estadística se relaciona con el proceso de cargar datos, que luego puedan ser analizados. Considera las variables “Edad del estudiante” y su “Altura”, carga los datos para luego realizar algunas operaciones estadísticas con ellos.
#cargamos una variable cuantitativa discreta
edad<-c(11,12,12,15,12,41)
edad
## [1] 11 12 12 15 12 41
#cargamos una variable cuantitativa contínua
altura=c(50,65,120,156,60,182)
altura
## [1] 50 65 120 156 60 182
#cargamos una variable cualitativa nominal
sexo=as.factor(c("Hombre","Mujer","Mujer","Hombre","Mujer","Mujer"))
sexo
## [1] Hombre Mujer Mujer Hombre Mujer Mujer
## Levels: Hombre Mujer
#cargamos una variable cualitativa ordinal
niveleducativo=as.factor(c("Sin instrucción","Educ. Básica","Educ.Básica","Unviversitaria","Unviversitaria","Educ. Básica"))
niveleducativo
## [1] Sin instrucción Educ. Básica Educ.Básica Unviversitaria
## [5] Unviversitaria Educ. Básica
## Levels: Educ. Básica Educ.Básica Sin instrucción Unviversitaria
#para indicar a R que los datos cargados están relacionados
datos=data.frame(edad,altura,sexo,niveleducativo)
datos
## edad altura sexo niveleducativo
## 1 11 50 Hombre Sin instrucción
## 2 12 65 Mujer Educ. Básica
## 3 12 120 Mujer Educ.Básica
## 4 15 156 Hombre Unviversitaria
## 5 12 60 Mujer Unviversitaria
## 6 41 182 Mujer Educ. Básica
#para indicar a R que los datos cargados están relacionados
datos=data.frame(edad,altura,sexo,niveleducativo)
datos
## edad altura sexo niveleducativo
## 1 11 50 Hombre Sin instrucción
## 2 12 65 Mujer Educ. Básica
## 3 12 120 Mujer Educ.Básica
## 4 15 156 Hombre Unviversitaria
## 5 12 60 Mujer Unviversitaria
## 6 41 182 Mujer Educ. Básica
Usando la función table()
# Tablas de frecuencias para sexo
tab_sexo <- table(sexo)
tab_sexo
## sexo
## Hombre Mujer
## 2 4
# Tablas de frecuencias para edad
tab_edad <- table(edad)
tab_edad
## edad
## 11 12 15 41
## 1 3 1 1
# Tablas de frecuencias de doble entrada
tab_sexo_edad <- table(sexo,edad)
tab_sexo_edad
## edad
## sexo 11 12 15 41
## Hombre 1 0 1 0
## Mujer 0 3 0 1
# Proporción por sexo y edades
tab_sexo_edad <- table(sexo,edad)
prop.table(tab_sexo_edad, margin = 1)
## edad
## sexo 11 12 15 41
## Hombre 0.50 0.00 0.50 0.00
## Mujer 0.00 0.75 0.00 0.25
# la función summary
summary(datos)
## edad altura sexo niveleducativo
## Min. :11.00 Min. : 50.00 Hombre:2 Educ. Básica :2
## 1st Qu.:12.00 1st Qu.: 61.25 Mujer :4 Educ.Básica :1
## Median :12.00 Median : 92.50 Sin instrucción:1
## Mean :17.17 Mean :105.50 Unviversitaria :2
## 3rd Qu.:14.25 3rd Qu.:147.00
## Max. :41.00 Max. :182.00
Usando la función table.freq()
tab_Edad <- hist(edad, plot=FALSE)
tab_Edad2=table.freq(tab_Edad); tab_Edad2
## Lower Upper Main Frequency Percentage CF CPF
## 1 10 20 15 5 83.3 5 83.3
## 2 20 30 25 0 0.0 5 83.3
## 3 30 40 35 0 0.0 5 83.3
## 4 40 50 45 1 16.7 6 100.0
Algunas gráficas estadísticas con los datos cargados
# una gráfica para sexo
pie(table(sexo),labels = c("Hombres","Mujeres"), main="Pie Chart of Countries",edges = 200)
# una gráfica de barras
barplot(tab_edad)
# Histograma de las edades
hist(edad)
# Histograma de las edades
hist(edad)
Algunas estadísticas descriptivas con los datos cargados
# La edad mayor
edadmax=max(edad)
edadmax
## [1] 41
# La edad promedio
edadmedia=mean(edad)
edadmedia
## [1] 17.16667
R ya incorpora una serie de bases de datos que te pueden resultar de utilidad para empezar a explorar las posibilidades de análisis estadístico que te ofrece este programa.
Como ejemplo vamos a explorara la base de datos llamada “cars”
#cargar la base
data(cars)
#visualizar los encabezados
head(cars)
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16
## 6 9 10
#resumir con algunas estadísticas las variables de la base
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
Puedes agregar fácilmente gráficos a tu análisis. Por ejemplo:
data(pressure)
head(pressure)
## temperature pressure
## 1 0 0.0002
## 2 20 0.0012
## 3 40 0.0060
## 4 60 0.0300
## 5 80 0.0900
## 6 100 0.2700
plot(pressure)
Figure 4.1: Plot Pressure
boxplot(pressure)
Figure 4.2: Boxplot