En este documento se incluyen algunas funciones en R que sirven para analizar datos usando herramientas estadísticas descriptivas e inferenciales. ##Estadística descriptiva ###1. Medidas de tendencia central
Para iniciar, la funición ‘summary()’ presenta las siguientes medidas descriptivas de cada variable de la base de datos. Cuando se trata de variables cuantitativas continuas, presenta el mínimo, el primer cuartil, la mediana, la media, el tercer cuartil y el máximo. Cuando se trata de variables cualitativas, presenta la cantidad de datos de cada categoría. A continuación se presenta una base de datos con variables cuantitativas continuas.
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
Considere otra base de datos alojada en la librería ‘faraway’. Recuerde que las librerías deben ser instaladas y cargadas para poder ser utilizadas en R.
library(faraway)
data("pima")
View(pima)
summary(pima)
## pregnant glucose diastolic triceps
## Min. : 0.000 Min. : 0.0 Min. : 0.00 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 62.00 1st Qu.: 0.00
## Median : 3.000 Median :117.0 Median : 72.00 Median :23.00
## Mean : 3.845 Mean :120.9 Mean : 69.11 Mean :20.54
## 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 80.00 3rd Qu.:32.00
## Max. :17.000 Max. :199.0 Max. :122.00 Max. :99.00
## insulin bmi diabetes age
## Min. : 0.0 Min. : 0.00 Min. :0.0780 Min. :21.00
## 1st Qu.: 0.0 1st Qu.:27.30 1st Qu.:0.2437 1st Qu.:24.00
## Median : 30.5 Median :32.00 Median :0.3725 Median :29.00
## Mean : 79.8 Mean :31.99 Mean :0.4719 Mean :33.24
## 3rd Qu.:127.2 3rd Qu.:36.60 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :846.0 Max. :67.10 Max. :2.4200 Max. :81.00
## test
## Min. :0.000
## 1st Qu.:0.000
## Median :0.000
## Mean :0.349
## 3rd Qu.:1.000
## Max. :1.000
Diagrama de frecuencias
hist(pima$diastolic,col="blue")
Diagrama boxplot Otro gráfico descriptivo ampliamente utilizado es el diagrama boxplot, que permite identificar datos atípicos. Un boxplot para la variable ‘distolic’ se presenta a continuación:
boxplot(pima$diastolic,horizontal = T,col="blue")
La base de datos ‘pima’ tiene una variable cualitativa llamada ‘test’. Esta variable es resumida como si fuera una variable cuantitativa continua, pero no es cierto, así que es necesario ajustarla como factor usando la función factor(). Observ
str(pima)
## 'data.frame': 768 obs. of 9 variables:
## $ pregnant : int 6 1 8 1 0 5 3 10 2 8 ...
## $ glucose : int 148 85 183 89 137 116 78 115 197 125 ...
## $ diastolic: int 72 66 64 66 40 74 50 0 70 96 ...
## $ triceps : int 35 29 0 23 35 0 32 0 45 0 ...
## $ insulin : int 0 0 0 94 168 0 88 0 543 0 ...
## $ bmi : num 33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
## $ diabetes : num 0.627 0.351 0.672 0.167 2.288 ...
## $ age : int 50 31 32 21 33 30 26 29 53 54 ...
## $ test : int 1 0 1 0 1 0 1 0 1 1 ...
pima$test=factor(pima$test)
summary(pima)
## pregnant glucose diastolic triceps
## Min. : 0.000 Min. : 0.0 Min. : 0.00 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 62.00 1st Qu.: 0.00
## Median : 3.000 Median :117.0 Median : 72.00 Median :23.00
## Mean : 3.845 Mean :120.9 Mean : 69.11 Mean :20.54
## 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 80.00 3rd Qu.:32.00
## Max. :17.000 Max. :199.0 Max. :122.00 Max. :99.00
## insulin bmi diabetes age test
## Min. : 0.0 Min. : 0.00 Min. :0.0780 Min. :21.00 0:500
## 1st Qu.: 0.0 1st Qu.:27.30 1st Qu.:0.2437 1st Qu.:24.00 1:268
## Median : 30.5 Median :32.00 Median :0.3725 Median :29.00
## Mean : 79.8 Mean :31.99 Mean :0.4719 Mean :33.24
## 3rd Qu.:127.2 3rd Qu.:36.60 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :846.0 Max. :67.10 Max. :2.4200 Max. :81.00
str(pima)
## 'data.frame': 768 obs. of 9 variables:
## $ pregnant : int 6 1 8 1 0 5 3 10 2 8 ...
## $ glucose : int 148 85 183 89 137 116 78 115 197 125 ...
## $ diastolic: int 72 66 64 66 40 74 50 0 70 96 ...
## $ triceps : int 35 29 0 23 35 0 32 0 45 0 ...
## $ insulin : int 0 0 0 94 168 0 88 0 543 0 ...
## $ bmi : num 33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
## $ diabetes : num 0.627 0.351 0.672 0.167 2.288 ...
## $ age : int 50 31 32 21 33 30 26 29 53 54 ...
## $ test : Factor w/ 2 levels "0","1": 2 1 2 1 2 1 2 1 2 2 ...
as.numeric(pima$test)# para volver la variable numérica
## [1] 2 1 2 1 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 1
## [38] 2 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 1 2 1
## [75] 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2
## [112] 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1
## [149] 1 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1
## [186] 2 2 2 2 2 1 1 2 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2
## [223] 1 1 1 1 1 2 1 1 2 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1
## [260] 2 1 2 1 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 1 1 2 2 2 1 1
## [297] 2 1 2 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 1 2
## [334] 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 2 1 1 2
## [371] 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 2 1 2 1 2
## [408] 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 2
## [445] 2 2 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 2
## [482] 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1
## [519] 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1
## [556] 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 2 1 2 1 2 1 2 1
## [593] 2 1 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1
## [630] 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1
## [667] 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 2 2 1 1 1 1 2 2
## [704] 1 1 1 2 1 2 2 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2
## [741] 2 1 1 2 1 1 2 1 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 1
pima$diastolic[pima$diastolic==0]=NA
hist(pima$diastolic)
plot(density(pima$diastolic,na.rm=T))
summary(pima$test)
## 0 1
## 500 268
boxplot(pima$diastolic~pima$test)# diagrama boxplot comparativo