Estadísticas en R

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Estadísticas en R

Prof. Cristian Bayes

1 Medidas Estadísticas en R
En esta sección se presenta una lista de funciones que calculan las principales medidas
estadísticas vistas en el curso.
 Si se indica que la función está en la librería base, no es necesario instalar ninguna
librería para usarla. En caso contrario hay que instalar la librería que se indique.
Por ejemplo, si se requiere la librería DescTools se tendría que instalar y luego
cargar para usar las funciones que esta contiene.

 # Instalar librería

 install.packages("DescTools")

 # Cargar librería

library(DescTools)

 Todas la funciones presentadas en esta sección tienen como primer argumento el


vector de datos a los cuáles se va a calcular la estadística.
 Asimismo todas las funciones se le puede incluir el argumento na.rm=TRUE para
que se realice el cálculo de la estadística sin considerar los valores perdidos,
denotados por NA en R.

1.1 Medidas de tendencia central


Función Librería Estadística

mean base media

median base mediana

Ejemplo en R:

# Media
mean(mtcars$mpg)
## [1] 20.09062
# Mediana
median(mtcars$mpg)
## [1] 19.2

1.2 Medidas de dispersión


Función Librería Estadística

var base varianza

sd base desviación estándar

range base rango

IQR base rango intercuartil

CoefVar DescTools coeficiente de variación

Ejemplo en R:

# Varianza
var(mtcars$mpg)
## [1] 36.3241
# Desviación estándar
sd(mtcars$mpg)
## [1] 6.026948
# Rango
diff(range(mtcars$mpg))
## [1] 23.5
# Rango intercuartil
IQR(mtcars$mpg)
## [1] 7.375
# Coeficiente de variación
CoefVar(mtcars$mpg)
## [1] 0.2999881

1.3 Medidas de forma


Función Librería Estadística

Skew DescTools coeficiente de asimetría de Fisher

Kurt DescTools coeficiente de curtosis de Fisher

Ejemplo en R:

library(DescTools)
# Coeficiente de asimetría de Fisher
Skew(mtcars$mpg)
## [1] 0.610655
# Coeficiente de curtosis de Fisher
Kurt(mtcars$mpg)
## [1] -0.372766

1.4 Cuantiles
La función quantile(x,probs), con argumentos x un vector de datos y probs el nivel del
cuantil a ser calculado.
Ejemplo en R:

# Cuantiles 0.10, 0.25, 0.50, 0.75, 0.90


quantile(mtcars$mpg,probs = c(0.10,0.25,0.50,0.75,0.90))
## 10% 25% 50% 75% 90%
## 14.340 15.425 19.200 22.800 30.090

1.5 Función summary


La función summary calcula el primer cuartil (1st Qu.), mediana (Median), tercer cuartil
(3rd Qu.), además de la media (Mean) y los valores máximo (Max.) y mínimo (Min.).
Ejemplo en R:

summary(mtcars$mpg)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.40 15.43 19.20 20.09 22.80 33.90
2 Medidas Estadísticas usando otras
librerías
Así como la función summary calcula algunas estadísticas en forma conjunta, también
existen otras funciones que permiten realizar el cálculo de las estadísticas presentadas:

2.1 Librería DescTools


La función Desc permite el calculo de todas las estadísticas revisadas anteriormente. Se
sugiere usar los siguientes argumentos:
 plotit = FALSE indica que realice solo el calculo de las estadísticas y no un
gráfico.
 conf.level=NA indica que no realice el cálculo de un intervalo de confianza para
la media, tema aún no visto en el curso.
 maxrows = 0 indica que no imprima la tabla de frecuencias.

Ejemplo en R:

Desc(mtcars$mpg,plotit = FALSE, conf.level=NA,maxrows = 0)


## [...]
## mtcars$mpg (numeric)
##
## length n NAs unique 0s mean meanCI'
## 32 32 0 25 0 20.091 <NA>
## 100.0% 0.0% 0.0% <NA>
##
## .05 .10 .25 median .75 .90 .95
## 11.995 14.340 15.425 19.200 22.800 30.090 31.300
##
## range sd vcoef mad IQR skew kurt
## 23.500 6.027 0.300 5.411 7.375 0.611 -0.373
##
## lowest : 10.4 (2), 13.3, 14.3, 14.7, 15.0
## highest: 26.0, 27.3, 30.4 (2), 32.4, 33.9
## [...]

2.2 Librería EnvStats


La función summaryFull permite el calculo de todas las estadísticas revisadas
anteriormente.
Además esta función permite escoger que estadísticas se deben calcular.
En el cálculo de los coeficientes de asimetría y curtosis usa una definición ligeramente
diferente a la presentada en el curso. Si el número de datos es grande las diferencias son
mínimas.
Ejemplo en R:

summaryFull(mtcars$mpg,
stats=c("n","mean", "median",
"sd","iqr","range","cv",
"skew","kurtosis"))
## mtcars$mpg
## N 32.00000
## Mean 20.09000
## Median 19.20000
## Skew 0.67240
## Kurtosis -0.02201
## Range 23.50000
## Standard Deviation 6.02700
## Interquartile Range 7.38000
## Coefficient of Variation 0.30000
## [...]

3 Medidas estadística por grupos de


otra variable
3.1 Librería base
Se pueden calcular estadísticas por grupos formados por otra variable:
1. Calculando la estadística a cada subconjunto de datos.
2. Usando funciones, que permiten aplicar una función a una variable por los grupos
que forma otra variable.
o tapply(vector, index, function)
o tapply(vector, index, function)

donde

o vector: variable con la que se va a calcular las estadísticas.


o index: variable con los grupos.
o function: función a ser aplicada

Ejemplo en R:

# Método 1
mean(mtcars$mpg[mtcars$am==0])
## [1] 17.14737
mean(mtcars$mpg[mtcars$am==1])
## [1] 24.39231
# Método 2
tapply(mtcars$mpg,mtcars$am,mean)
## 0 1
## 17.14737 24.39231
by(mtcars$mpg,mtcars$am,mean)
## mtcars$am: 0
## [1] 17.14737
## ------------------------------------------------------------
## mtcars$am: 1
## [1] 24.39231

3.2 Librería DescTools


La función Desc permite el cálculo de las estadísticas agrupadas por otra variable.
El argumento verbose indica que estadísticas se van a calcular,

 verbose=2 calcula media, mediana, desviación estándar y rango intercuartil


 verbose=3 calcula todas las estadísticas disponibles.

Ejemplo en R:

Desc(mpg~am,data=mtcars,verbose=3,
plotit = FALSE, conf.level=NA,maxrows = 0)
## [...]
## 0 1
## mean 17.147 24.392
## median 17.300 22.800
## sd 3.834 6.167
## IQR 4.250 9.400
## n 19 13
## np 59.375% 40.625%
## NAs 0 0
## 0s 0 0
## min 10.400 15.000
## max 24.400 33.900
## Q1 14.950 21.000
## Q3 19.200 30.400
## mad 3.113 6.672
## skew 0.014 0.053
## kurt -0.803 -1.455
##
## [...]

3.3 Librería EnvStats


La función summaryFull permite el cálculo de las estadísticas agrupadas por otra variable.
En el cálculo de los coeficientes de asimetría y curtosis usa una definición ligeramente
diferente a la presentada en el curso. Si el número de datos es grande las diferencias son
mínimas.
Ejemplo en R:

summaryFull(mpg~am,data=mtcars,
stats=c("n","mean", "median",
"sd","iqr","range","cv",
"skew","kurtosis"))
## 0 1
## N 19.00000 13.00000
## Mean 17.15000 24.39000
## Median 17.30000 22.80000
## Skew 0.01646 0.06729
## Kurtosis -0.33390 -1.15900
## Range 14.00000 18.90000
## Standard Deviation 3.83400 6.16700
## Interquartile Range 4.25000 9.40000
## Coefficient of Variation 0.22360 0.25280
## [...]

4 Estadísticas con datos agrupados


Consideremos que solo tenemos la tabla de frecuencias de una variable aletoria continua.
Por ejemplo,
level freq perc cumfreq

[10,15] 6 0.1875 6

(15,20] 12 0.3750 18

(20,25] 8 0.2500 26

(25,30] 2 0.0625 28

(30,35] 4 0.1250 32

Entonces, para el cálculo de las estadísticas se considera dos casos:

 Estadística basada en todos los datos: se calcula considerando que la marca de


clase se repite tantas veces como la frecuencia.
 Estadística basada en cuantiles: se interpola en forma lineal el valor del cuantil.

4.1 Estadística basada en todos los datos


 Media.
 Varianza y Desviación estándar.
 Coeficiente de variación.
 Coeficiente de asimetría de Fisher.
 Coeficiente de curtosis de Fisher.

En R se construye una nueva variable que repita la marca de clase tantas veces como la
frecuencia y se calculan las estadísticas a partir de esta.
Ejemplo en R:

# Marca de clase
x.j = c(12.5,17.5,22.5,27.5,32.5)
# Frecuencia absoluta
n.j = c(6,12,8,2,4)
# Nueva variable que repite x.j, n.j veces.
x = rep(x.j,times=n.j)
# Media
mean(x)
## [1] 20.3125
# Desviación estándar
sd(x)
## [1] 6.213604
# Coeficiente de variación
CoefVar(x)
## [1] 0.3059005
# Coeficiente de asimetría de Fisher
Skew(x)
## [1] 0.6434255
# Coeficiente de curtosis de Fisher
Kurt(x)
## [1] -0.5498423

4.2 Estadística basada en cuantiles


 Cuantil.
 Mediana.
 Rango intercuartil.

En R se interpola linealmente entre los limites de los intervalos y las frecuencias


acumuladas para encontrar los cuantiles.
Ejemplo en R:

# Límites de los intervalos


L.j = c(10,15,20,25,30,35)
# Frecuencias relativas acumuladas
F.j = c(0,0.188,0.562,0.812,0.875,1)
# Cuantil 0.75
approx(F.j,L.j,0.75)
## $x
## [1] 0.75
##
## $y
## [1] 23.76
# Porcentaje de datos menor o igual a 28
approx(L.j,F.j,28)
## $x
## [1] 28
##
## $y
## [1] 0.8498
# Mediana
approx(F.j,L.j,0.5)
## $x
## [1] 0.5
##
## $y
## [1] 19.17112
# Rango intercuartil
approx(F.j,L.j,0.75)$y-approx(F.j,L.j,0.25)$y
## [1] 7.931123

También podría gustarte