4. Estadísticas descriptivas y tablas de frecuencias

Ya hemos visto que la función summary() permite obtener algunas estadísticas descriptivas de una variable, o de todas las variables en una base de datos. Aquí voy a mostrarles cómo obtener otras estadísticas comunes y tablas simples.

Entre las funciones disponibles en R para análisis descriptivos se encuentran las siguientes:

EstadísticaFunción
Mediamean( )
Medianamedian( )
Desviación estándarsd( )
Varianzavar( )
Correlacióncor( , )
Covarianzacov( , )
Tablastable( ) o table( , )

El siguiente ejemplo ilustra cómo utilizar estas funciones haciendo uso de variables en la base de datos mtcars. La lista de comandos a ejecutar es:

  • data(mtcars)
  • attach(mtcars)
  • mean(mpg)
  • median(mpg)
  • sd(mpg)
  • cor(mpg,hp)

El resultado presentado en la consola será:

> mean(mpg)
[1] 20.09062
> median(mpg)
[1] 19.2
> sd(mpg)
[1] 6.026948
> cor(mpg,hp)
[1] -0.7761684

Para preparar una tabla de frecuencias sencilla, puede utilizar la función table(). En el siguiente ejemplo prepararemos una tabla de frecuencias para el número de cilindros de los automóviles:

> table(cyl)

cyl
4 6 8
11 7 14

La primera línea de la tabla contiene los valores de la variable ‘cyl’, y la segunda presenta las frecuencias. Es decir, hay 11 vehiculos de 4 cilindros, 7 de 6 cilindros y 14 de 8 cilindros.  Si desea proporciones en vez de frecuencias puede aplicarle a la función anterior la función proportions( ):

> proportions(table(cyl))

cyl
4 6 8
0.34375 0.21875 0.43750

Recuerde que puede hacer uso de la función round() para controlar el número de dígitos decimales en el resultado:

> round(proportions(table(cyl)),2)

cyl
4 6 8
0.34 0.22 0.44

La función table() también sirve para preparar tablas de contingencia: solo basta con incluir la lista de variables dentro de los paréntesis, separadas por una coma:

> table(cyl,gear)

gear
cyl 3 4 5
4 1 8 2
6 2 4 1
8 12 0 2

Puede aplicar la función proportions() aquí también para obtener proporciones en vez de frecuencias:

> proportions(table(cyl,gear))

gear
cyl 3 4 5
4 0.03125 0.25000 0.06250
6 0.06250 0.12500 0.03125
8 0.37500 0.00000 0.06250

Finalmente presentaremos la tabla a dos sitios decimales:

> round(proportions(table(cyl,gear),2)

gear
cyl 3 4 5
4 0.03 0.25 0.06
6 0.06 0.12 0.03
8 0.38 0.00 0.06

You may also like...