Está en la página 1de 30

MANUAL BÁSICO DE

ESTADÍSTICA CON R
CON INSTRUCCIONES Y PLANTILLAS DE
LOS PRINCIPALES COMANDOS

Dante A. Urbina

2014
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

[2]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

“Las cifras no mienten, pero los mentirosos


también usan cifras…”.

ANÓNIMO

[3]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

CONTENIDO

Introducción……….…………………………………….……………………..…… 5 - 6

I. Descripción de datos…………………………….…………………….…… 7 - 10

II. Muestreo……………..………………………………………………….…… 11 - 14

III. Intervalos de confianza…..……………………….………….….…… 15 - 17

IV. Contrastes de hipótesis…..……………………………..……….…… 18 - 25

V. Regresión lineal simple………………………………….……………… 26 - 30

[4]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

INTRODUCCIÓN

El presente es un manual básico del programa R, el cual es un software libre especializado


en análisis estadísticos. Siendo el R también un lenguaje de programación, cada usuario
puede no sólo realizar innumerables análisis y pruebas con él sino también extenderlo
definiendo sus propias funciones. No obstante, en el presente manual nos centraremos
exclusivamente en las herramientas de análisis estadístico más comunes y sencillas para
que el lector pueda irse familiarizando con el programa. Por ello mismo, este material
también puede servir de apoyo para profesores y alumnos en un curso básico de R.

La principal ventaja de este manual es que trae listas las plantillas de los principales
comandos de modo tal que simplemente hay que adecuarlas a los archivos, nombres de
variables, nombres de datos u otras especificaciones, para poder correrlas y obtener los
resultados correspondientes. Ello es conveniente hacerlo en el entorno R-Studio, que es
más amigable y simplificado, y también es de descarga libre. Entonces, una vez instalados
R y R-Studio, los comandos que presentaremos deben correrse poniéndolos (ya
adecuados a nuestros requerimientos) en la parte en blanco que aparece al lado superior
izquierdo en la ventana de R-Studio; siendo que para ello basta con hacer click al final de
cada línea del comando en cuestión y luego hacer click en la opción “Run”. Al hacer esto
ordenadamente desde la primera hasta la última línea del comando, deberá salirnos el
resultado o los resultados en la sub-ventana de abajo.

Como el R es un lenguaje de programación concatenado, un solo error en algo tan nimio


como una coma o el olvidarnos de cerrar alguna comilla o paréntesis, hará que la línea en
que se cometió el error no corra y tampoco puedan hacerlo las demás que estén
correlacionadas con aquella. En caso cometamos un error de escritura el R nos lo indicará
con un mensaje en letras rojas en la parte de abajo. Si ello sucede, debemos volver atrás
cuanto sea necesario y ver minuciosamente cada línea para identificar el error. En caso el
comando no sea muy largo, conviene volver a la primera línea y verificar desde allí. Es

[5]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

cierto que es un poco molesto al comienzo, pero en realidad vale la pena, porque el R es
un lenguaje de programación muy versátil y potente que podemos utilizar siempre dado
que se trata de un software libre (con otros programas hay que pagar licencias y eso carga
costos a las instituciones o empresas en que se quiera trabajar). Además, una vez que nos
familiarizamos con el programa, cometemos menos errores o los detectamos más fácil y
rápidamente.

Ahora, como una imagen vale más que mil palabras y para que se entienda mejor todo lo
anterior y también lo que sigue, presentamos la ventana de R-Studio:

Asimismo, hay que mencionar que en los comandos presentados, la parte que el lector
debe reemplazar de acuerdo al problema que esté abordando, es básicamente aquello
que aparece como palabras o frases en mayúsculas.

Sin más preámbulos, pasamos a desarrollar los temas.

[6]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

I. DESCRIPCIÓN DE DATOS

Las herramientas de descripción de datos son aquellas que nos permiten “resumirlos” por
medio de un conjunto de estadísticos y/o gráficas que nos muestran información
significativa y relevante sobre ellos.

A continuación, mostraremos las plantillas de R correspondientes a los principales


estadísticos descriptivos. Consideraremos que se tiene un archivo .csv con datos de un
conjunto de variables, cada una de las cuales constituye una columna (es decir, al
comienzo de la columna aparece el nombre de la variable en cuestión y luego los datos
numéricos hacia abajo). Cualquier archivo de Excel en que tengamos los datos puede ser
también guardado en formato .csv.

Pues bien, para analizar los estadísticos descriptivos de una variable en particular, nos
conviene que R lea sus valores por separado. El comando que debemos correr para esto
es el siguiente (cada nombre debe ser una sola palabra o, preferiblemente, una forma
abreviada de la misma que podamos identificar fácilmente):

library(xtable)
NOMBRE DE ARCHIVO <− read.csv("UBICACIÓN EXACTA DEL ARCHIVO EN LA PC O EN LA
WEB PONIENDO LA EXTENSIÓN .csv")
write.csv(NOMBRE DE ARCHIVO, file="NOMBRE DE ARCHIVO EN LA PC O EN LA WEB
PONIENDO LA EXTENSIÓN .csv", row.names=FALSE)
NOMBRE DE VARIABLE <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL
ARCHIVO CON LOS DATOS DE LA VARIABLE EN ESTUDIO"])

En lo que sigue remplazaremos “NOMBRE DE VARIABLE” simplemente por “VARIABLE”,


pero es lo mismo. En caso haya algunos datos ausentes (como celdas vacías con “NA”) que
impidan la ejecución de los comandos, se debe hacer que el R los omita, para lo cual la

[7]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

“VARIABLE”, luego de haber sido “leída” por el R, debe escribirse como


“na.omit(VARIABLE)” en los comandos de los estadísticos.

Teniendo todo esto en mente, pasamos a presentar las plantillas de R de los principales
estadísticos descriptivos:

1. Media

La media o promedio es el estadístico descriptivo de posición central más utilizado,


aunque es sensible a la presencia de valores extremos en los datos. El comando de R para
calcular una media simple viene dado por:

(media <− mean(VARIABLE))

2. Mediana

La mediana es aquel valor que está “justo al medio” de todos los datos. Tiene la ventaja de
no ser sensible a valores atípicos (extremos). El comando de R para calcular la mediana
viene dado por:

(mediana <− median(VARIABLE))

3. Varianza

La varianza es la principal medida del grado de dispersión de los datos. El comando de R


para calcularla es:

(varianza <− var(VARIABLE))

[8]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

4. Desviación estándar

Es la raíz cuadrada de la varianza. Muchas veces es más útil y pertinente para la


interpretación. El comando de R para calcular la desviación estándar es:

(desviacion.est <− sd(VARIABLE))

5. Cuantiles

Son aquellos valores de la variable que dejan una determinada proporción de los datos
debajo de sí conforme a la distribución de probabilidad de éstos. El comando de R para
hallar un cuantil es:

(cuantil <− quantile(VARIABLE, c(ORDEN DEL CUANTIL)))

Los cuantiles más comunes son los llamados “cuartiles”, que dividen la distribución en
cuatro partes correspondiendo a los cuantiles de orden 0.25, 0.50 y 0.75. También se usan
los “deciles”, que dividen la distribución en diez partes. Así, si se quiere saber qué valor
deja por debajo al 90% de los datos, se usa el orden de cuantil 0.90. Y, finalmente, están
los “percentiles”, que dividen la distribución en cien partes.

6. Coeficiente de asimetría

Mide cómo es la forma de la distribución de los valores alrededor de la media. El comando


de R para calcular el coeficiente de asimetría es:

(asimetría <− mean((VARIABLE-media)^3)/desviacion.est^3)

[9]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

Si la distribución es simétrica, el coeficiente de asimetría debe ser cero. En caso sea


positivo, se dice que la distribución es asimétrica hacia la derecha; y en caso sea negativo,
se dice que es asimétrica hacia la izquierda.

7. Coeficiente de curtosis

Mide el grado de “curvatura” en la distribución de los datos. El comando de R para


calcular el coeficiente de curtosis viene dado por:

(curtosis <− mean((VARIABLE-media)^4)/desviacion.est^4)

En el caso de la distribución normal, el coeficiente de curtosis teórico es 3. Por tanto, si


nuestro curtosis resultante es mayor que 3, diremos que la distribución de nuestros datos
es más “apuntada” que la normal; y si es menor que 3, diremos que es más “aplanada”
que la normal.

8. Histograma

Un histograma es una representación gráfica de las frecuencias observadas de una


variable cuantitativa en intervalos y sirve para obtener una “primera vista” de la
distribución de los datos. El comando de R para el histograma viene dado por:

library(MASS)
(truehist(VARIABLE, prob=FALSE,
main="TÍTULO DEL HISTOGRAMA",
xlab="NOMBRE DE LA UNIDAD DE MEDIDA DE LOS DATOS", ylab="Frecuencia"))

Para correr la última instrucción entre paréntesis, se deben seleccionar sus tres líneas.
Hecho esto, aparecerá la gráfica del histograma.

[10]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

II. MUESTREO

En estadística se conoce como muestreo a la técnica para la selección de una muestra a


partir de una población que se quiere estudiar siendo que al elegir una determinada
muestra lo que se espera es conseguir que sus características o propiedades sean
extrapolables a la población.

A continuación, las plantillas de los comandos básicos más utilizados en el muestreo:

1. Cálculo del tamaño de muestra aleatoria simple para estimar una media

Suponiendo muestreo aleatorio sin reemplazamiento y en caso se desee estimar una


media, el comando de R para calcular el tamaño de muestra que debemos usar vendrá
dado por:

N <- TAMAÑO DE LA POBLACIÓN


alpha <- 1-NIVEL DE CONFIANZA
em <- ERROR DE MUESTREO
lambda <- qnorm(1-(alpha/2))
lPQ <- (lambda^2)*VARIANZA MUESTRAL
(n.mas <- (lPQ*N)/((N-1)*em^2+lPQ))

En el comando anterior, el “nivel de confianza” representa el grado de fiabilidad que


queremos darle a nuestra estimación y por lo general es de 0.95 (o 95%, aunque en el R
debe escribirse en su forma decimal). El “error de muestreo” se debe escribir en términos
absolutos. Así, si nos dicen que se puede estimar la media poblacional con un error de ±2,
debemos poner el número 2 como error de muestreo. Finalmente, la “varianza muestral”
nos la deben dar como dato o, en su defecto, debemos calcularla previamente y poner allí

[11]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

el resultado. Con todo ello, al correr el último comando nos deberá aparecer el tamaño de
muestra necesario para la estimación dados los parámetros especificados.

2. Cálculo del tamaño de muestra aleatoria simple para estimar una proporción

Suponiendo muestreo aleatorio sin reemplazamiento y en caso se desee estimar una


proporción, el comando de R para calcular el tamaño de muestra será:

N <- TAMAÑO DE LA POBLACIÓN


alpha <- 1-NIVEL DE CONFIANZA
em <- ERROR DE MUESTREO
lambda <- qnorm(1-(alpha/2))
lPQ <- (lambda^2)*(PROPORCIÓN)*(1-PROPORCIÓN)
(n.mas <- (lPQ*N)/((N-1)*em^2+lPQ))

Básicamente se da lo mismo que en el caso anterior, sólo que el “error de muestreo” se


debe escribir en términos relativos. Así, si nos dicen que se puede estimar la proporción
poblacional con un error de ±2%, debemos poner el número 0.02 como error de
muestreo. Respecto de la “proporción”, debemos poner aquella que se conoce por
estudios previos o por “pruebas piloto”. En caso no haya esto, simplemente se asume el
valor de 0.5 como proporción, ya que implica el mayor tamaño muestral posible.

3. Afijación proporcional en muestreo estratificado

En los casos anteriores hemos visto el llamado “muestreo aleatorio simple”. No obstante,
hay ocasiones en que los elementos de la población están agrupados en estratos, es decir,
conjuntos de elementos homogéneos dentro del estrato, pero heterogéneos entre los
distintos estratos. En este caso, se debe aplicar el “muestreo estratificado” para hallar el
tamaño de muestra en cada estrato.

[12]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

Una primera forma de determinar esto es la llamada “afijación proporcional”, que


consiste en fijar el tamaño de muestra en correspondencia directa con la proporción que
representa cada estrato respecto de la población total. El comando de R para la afijación
proporcional es el siguiente:

ns <- c(round(TAMAÑO DE POBLACIÓN TOTAL*PROPORCIÓN QUE REPRESENTA EL


ESTRATO 1), round(TAMAÑO DE POBLACIÓN TOTAL*PROPORCIÓN QUE REPRESENTA EL
ESTRATO 2))
(N <- sum(ns))
round(TAMAÑO DE MUESTRA*ns/N)

La primera instrucción del comando anterior se ha hecho para el caso de 2 estratos pero
puede extenderse análogamente para “n” estratos. En caso el problema nos dé
directamente el tamaño total de cada estrato en lugar de la proporción que representa
cada uno respecto de la población, se debe escribir la primera instrucción como: ns <-
c(TAMAÑO DE ESTRATO 1, TAMAÑO DE ESTRATO 2). Luego de ello, se debe comprobar
por medio de la segunda instrucción que la suma de los estratos (ns) nos dé el total de la
población (N). Finalmente, en la última instrucción debemos poner en “tamaño de
muestra” la cantidad total de muestra que usaremos para la estimación, y el comando la
distribuirá entre cada uno de los estratos de modo tal que el tamaño de muestra de cada
estrato se corresponda directamente con la proporción que cada uno de ellos representa
de la población total.

4. Afijación óptima en muestreo estratificado para estimar proporciones

Lo que busca la “afijación óptima” es realizar el muestreo de modo tal que se procure la
máxima precisión en la estimación. Así, la participación de cada estrato en la muestra total
debe ser proporcional a la desviación estándar del estrato para que se muestreen más

[13]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

aquellos estratos con mayor variabilidad y menos aquellos que son más homogéneos. El
comando de R para la afijación óptima en estimación de proporciones es el siguiente:

ns <- c(round(CANTIDAD DEL ESTRATO 1 EN LA POBLACIÓN), round(CANTIDAD DEL


ESTRATO 2 EN LA POBLACIÓN))
ps <- c(NOMBRE DE ESTRATO 1=PROPORCIÓN CONOCIDA EN ESTRATO 1, NOMBRE DE
ESTRATO 2=PROPORCIÓN CONOCIDA EN ESTRATO 2)
(sd.estrato <- sqrt(ps*(1-ps)/ns))
(prop.estrato <- sd.estrato/sum(sd.estrato))
round(TAMAÑO DE MUESTRA*prop.estrato)

Como en lo precedente, si el problema nos da directamente el tamaño total de cada


estrato en lugar de la proporción que representa cada uno respecto de la población, se
debe escribir la primera instrucción como: ns <- c(TAMAÑO DE ESTRATO 1, TAMAÑO DE
ESTRATO 2). Luego, en la instrucción siguiente, la “proporción conocida” se refiere a la
proporción que conocemos previamente para cada estrato de la característica que nos
interesa estudiar. Finalmente, en la última instrucción debemos poner en “tamaño de
muestra” la cantidad total de muestra que usaremos para la estimación y el comando la
distribuirá entre cada uno de los estratos de modo tal que el tamaño de muestra de cada
estrato esté en proporción con su respectiva desviación estándar para obtener un máximo
nivel de precisión.

[14]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

III. INTERVALOS DE CONFIANZA

Un intervalo de confianza es un par de número entre los cuales se estima que estará cierto
valor desconocido con una determinada probabilidad de acierto. El intervalo de confianza
se calcula a partir de los datos de la muestra con que se cuenta, y el valor desconocido es
un determinado parámetro poblacional. La probabilidad de éxito en la estimación se
representa con (1 − 𝛼) y se denomina “nivel de confianza”. A su vez, 𝛼 representa el
error aleatorio y se denomina “nivel de significación”.

Para hacer el cálculo con R, previamente cargamos los datos de la variable de interés con
el comando ya conocido:

library(xtable)
NOMBRE DE ARCHIVO <− read.csv("UBICACIÓN EXACTA DEL ARCHIVO EN LA PC O EN LA
WEB PONIENDO LA EXTENSIÓN .csv")
write.csv(NOMBRE DE ARCHIVO, file="NOMBRE DE ARCHIVO EN LA PC O EN LA WEB
PONIENDO LA EXTENSIÓN .csv", row.names=FALSE)
NOMBRE DE VARIABLE <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL
ARCHIVO CON LOS DATOS DE LA VARIABLE EN ESTUDIO"])

Hecho esto, presentamos a continuación las plantillas de R para obtener los intervalos de
confianza más básicos y comunes:

1. Intervalo de confianza de la media de una distribución normal con varianza


desconocida

Para estimar el intervalo de confianza de la media de una distribución normal con varianza
desconocida utilizamos el comando siguiente:

[15]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

n <- TAMAÑO DE MUESTRA


Alpha <- NIVEL DE SIGNIFICACIÓN
ci <- mean(VARIABLE)-qt(1-Alpha/2, n-1)*sd(VARIABLE)/sqrt(n)
cs <- mean(VARIABLE)+qt(1-Alpha/2, n-1)*sd(VARIABLE)/sqrt(n)
c(ci,cs)

En caso no se especifique un nivel de significación determinado, se asume por lo general


el valor de 0.05 (5%). Al correr la última instrucción debe mostrarse el intervalo de
confianza (cota inferior y cota superior) al nivel de confianza dado.

2. Intervalo de confianza de la media de cualquier distribución con muestra grande

Para estimar el intervalo de confianza de la media de una distribución cualquiera de los


datos siempre y cuando se cuente con una muestra grande el comando de R a utilizar será
el siguiente:

n <- TAMAÑO DE MUESTRA


Alpha <- NIVEL DE SIGNIFICACIÓN
ci <- mean(VARIABLE)-qnorm(1-Alpha/2)*sd(VARIABLE)/sqrt(n)
cs <- mean(VARIABLE)+qnorm(1-Alpha/2)*sd(VARIABLE)/sqrt(n)
c(ci,cs)

Nuevamente, en caso no se especifique un nivel de significación determinado, se asume el


valor de 0.05 y al correr la última instrucción debe mostrarse el intervalo de confianza.

3. Intervalo de confianza de la varianza de una distribución normal

Para estimar el intervalo de confianza de la varianza de una distribución normal de los


datos el comando de R es:

[16]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

n <- TAMAÑO DE MUESTRA


Alpha <- NIVEL DE SIGNIFICACIÓN
ci <- (n-1)*var(VARIABLE)/qchisq(1-Alpha/2,n-1)
cs <- (n-1)*var(VARIABLE)/qchisq(Alpha/2,n-1)
c(ci,cs)

Al correr la última instrucción debe mostrarse el intervalo de confianza de la varianza al


nivel de confianza asumido.

4. Intervalo de confianza de la proporción

Para estimar el intervalo de confianza de una proporción el comando de R a utilizar es:

n <- TAMAÑO DE MUESTRA


Alpha <- NIVEL DE SIGNIFICACIÓN
p <- PROPORCIÓN MUESTRAL
ci <- p-qnorm(1-Alpha/2)*sqrt(p*(1-p)/n)
cs <- p+qnorm(1-Alpha/2)*sqrt(p*(1-p)/n)
c(ci,cs)

Al correr la última instrucción debe mostrarse el intervalo de confianza de la proporción


con la cota inferior y la cota superior al nivel de confianza propuesto.

[17]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

IV. CONTRASTE DE HIPÓTESIS

Un contraste de hipótesis es un procedimiento mediante el cual, a partir de los valores de


una muestra aleatoria, se decide si se rechaza o no el supuesto que plantea el investigador
sobre alguna característica de la población bajo estudio considerando cierta probabilidad
de error. El supuesto que plantea el investigador se llama “hipótesis nula” y en caso ésta
no se cumpla, debe darse su contraparte, que es la “hipótesis alternativa”.

Pues bien, el criterio de interpretación para todos los contrastes que veremos es el
siguiente: si el p-value resultante es menor que el nivel de significación elegido, se rechaza
la hipótesis nula a ese nivel de significación; por el contrario, si el p-value es mayor que el
nivel de significación, se acepta la hipótesis nula. Por lo general se usa el nivel de
significación de 0.05, pero puede también elegirse otro valor. Así, por ejemplo, si
obtenemos un p-value de 0.04, su hipótesis nula asociada se rechazará a un nivel de
significación del 5% pero no del 1%. En caso el R arroje “p-value < 2.2e-16”, ello quiere
decir que el p-value es tan pequeño que la hipótesis nula debe rechazarse a cualquier
nivel de significación.

Asimismo, como los contrastes se realizan en base a la información muestral, será


absolutamente necesario que el R haya “leído” previamente los datos necesarios de la
muestra o muestras (hay contrastes en los que se busca comparar dos o más grupos de
datos).

En caso la cantidad de datos muestrales sobre la variable que nos interesa sea grande,
debemos hacer primero que R los extraiga de modo separado con el comando conocido:

library(xtable)
NOMBRE DE ARCHIVO <− read.csv("UBICACIÓN EXACTA DEL ARCHIVO EN LA PC O EN LA
WEB PONIENDO LA EXTENSIÓN .csv")

[18]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

write.csv(NOMBRE DE ARCHIVO, file="NOMBRE DE ARCHIVO EN LA PC O EN LA WEB


PONIENDO LA EXTENSIÓN .csv", row.names=FALSE)
NOMBRE DE VARIABLE <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL
ARCHIVO CON LOS DATOS DE LA VARIABLE EN ESTUDIO"])

En caso la cantidad de datos muestrales sea pequeña, se puede escribir la información


directamente como un vector de datos separando por comas cada uno de los valores. Así,
si tenemos una muestra con cinco datos “A”, “B”, “C”, “D”, “E”, lo escribiríamos como:

NOMBRE DE VARIABLE <- c(A, B, C, D, E)

Como en los temas anteriores, en las plantillas de los comandos específicos que siguen se
reemplazará “NOMBRE DE VARIABLE” simplemente por “VARIABLE”. En los contrastes que
implican comparar características en base a dos muestras, se debe hacer que el R “lea”
ambas muestras previamente. Si la otra muestra es grande y está en otro archivo se debe
volver a ejecutar otra vez todo el primer comando presentado pero adecuado al nuevo
archivo y omitiendo la primera instrucción (“library(xtable)”). Si la otra muestra es grande
y está en el mismo archivo, pero en otra columna, simplemente se copia debajo y ejecuta
la última línea de ese comando (“NOMBRE DE VARIABLE <- as.numeric(NOMBRE DE
ARCHIVO[, "NOMBRE DE COLUMNA DEL ARCHIVO CON LOS DATOS DE LA VARIABLE EN
ESTUDIO"])”) cambiando sólo el “nombre de variable” (ya que es otra variable) y el
“nombre de columna del archivo con los datos de la variable en estudio” (ya que sus datos
estarán en otra columna). Por último, si la otra muestra es pequeña, podemos
simplemente escribir sus datos separados por comas y poniendo otro nombre de variable.

En todo caso, en los contrastes en que se comparen dos muestras nos referiremos a los
datos “ya leídos” de cada una con las nomenclaturas “VARIABLE 1” y “VARIABLE 2”, que el
lector deberá reemplazar por el nombre específico que le ha dado a sus variables de
estudio en las respectivas muestras (en los contrastes en que se busca comparar la misma

[19]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

característica para ambas muestras, se les puede poner el mismo nombre añadiendo
solamente –sin dejar espacio- “1” para la primera y “2” para la segunda).

A su vez, hay que señalar que en algunos contrastes (paramétricos) habrá especificar en la
hipótesis alternativa si se trata de un contraste de una o dos colas. Si la hipótesis
alternativa es que el parámetro puede simplemente tomar un valor distinto al planteado
en la hipótesis nula, se pone “two.sided”. En caso la hipótesis alternativa nos diga que el
parámetro tomará un valor mayor al planteado en la hipótesis nula, se pone “greater”. A
su vez, si la hipótesis alternativa nos dice que el parámetro tomará un valor menor al
planteado en la hipótesis nula, se pone “less”. En los comandos ponemos estas opciones
en mayúscula para indicar que se debe escoger entre ellas, pero una vez escogida alguna,
se la debe escribir con minúscula y entre comillas, si no el R no lo leerá.

Debiéndose tener en cuenta todo lo anterior (y recomendamos al lector volver


continuamente a ello cuando tenga que interpretar o especificar un determinado
contraste), pasamos a presentar los principales contrastes de hipótesis:

1. Contraste de medias

El comando de R para contrastar que la media poblacional toma un determinado valor es:

x=MEDIA MUESTRAL
s= DESVIACIÓN ESTÁNDAR MUESTRAL
n=TAMAÑO DE MUESTRA
(t=(x-VALOR DE MEDIA EN HIPÓTESIS NULA)/(s/sqrt(n)))
pt(t,df=n-1)

La penúltima instrucción nos da el valor calculado del estadístico t-student y la última nos
da el p-value resultante.

[20]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

2. Contraste de mediana

El comando de R para contrastar que la mediana poblacional toma un determinado valor


viene dado por:

wilcox.test(VARIABLE, mu=VALOR DE MEDIANA EN HIPÓTESIS NULA, alternative=


"TWO.SIDED", "LESS", "GREATER", conf.level=1- NIVEL DE SIGNIFICACIÓN)

Al correr este comando se nos muestra el valor del estadístico del contraste de Wilcoxon y
el p-value asociado. La ventaja de este contraste es que nos da información sobre la
posición central sin necesidad de hacer el supuesto de normalidad poblacional y, además,
es más robusto respecto de la presencia de datos atípicos en la muestra.

3. Contraste de diferencia de medias con la misma varianza

El comando de R para contrastar la diferencia de medias contando con dos muestras y


sabiendo que la varianza es la misma viene dado por:

t.test(VARIABLE 1, VARIABLE 2, alternative="TWO.SIDED","LESS","GREATER",


var.equal=TRUE, conf.level=1-NIVEL DE SIGNIFICACIÓN)

Al correr este comando, se muestra el valor del estadístico t, los grados de libertad (df), el
p-value, el intervalo de confianza de la estimación y el cálculo de ambas medias
muestrales.

4. Contraste de diferencia de medias con la misma varianza

El comando es el mismo que el anterior pero omitiendo la indicación “var.equal=TRUE”:

[21]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

t.test(VARIABLE 1, VARIABLE 2, alternative="TWO.SIDED","LESS","GREATER", conf.level=1-


NIVEL DE SIGNIFICACIÓN)

Al correr este comando, se muestra el valor del estadístico t, los grados de libertad (df), el
p-value, el intervalo de confianza de la estimación y el cálculo de ambas medias
muestrales.

5. Contraste de igualdad de varianzas

El comando de R para contrastar que la varianza de dos grupos de datos es la misma viene
dado por:

var.test(VARIABLE 1, VARIABLE 2, conf.level=1-NIVEL DE SIGNIFICACIÓN)

Al correr este comando, se muestra el valor del estadístico F, los grados de libertad (df), el
p-value, el intervalo de confianza de la estimación y el ratio de varianzas muestrales.

6. Contraste de proporción

El comando de R para contrastar que una proporción poblacional (probabilidad de éxito


estadístico) toma un determinado valor es:

prop.test(x=NÚMERO DE ÉXITOS EN LA MUESTRA, n=TAMAÑO DE MUESTRA,


p=PROBABILIDAD DE ÉXITO EN HIPÓTESIS NULA,
alternative="TWO.SIDED","LESS","GREATER", conf.level=1- NIVEL DE SIGNIFICACIÓN,
correct=FALSE)

[22]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

Al correr este comando, se muestra el valor del estadístico, los grados de libertad (df), el
p-value, el intervalo de confianza de la estimación y el cálculo de la proporción muestral.

7. Contraste de independencia

En caso se quiera contrastar si dos grupos de datos o resultados sobre datos son
independientes entre sí, el comando de R a utilizar será:

chisq.test(data.frame(VARIABLE 1, VARIABLE 2), correct=FALSE)

Luego de correr este comando obtendremos el estadístico Chi cuadrado, los grados de
libertad (df) y el p-value. La instrucción “correct=FALSE” implica que no se usará la
corrección de continuidad de Yates en el test, si se la quiera usar se debe poner “TRUE”.

8. Contraste de bondad de ajuste respecto de frecuencias esperadas

En caso tengamos una frecuencia esperada expresada en términos de probabilidades


entre 0 y 1 para cada dato, debemos hacer que el R lea esto como una nueva variable, a la
que podemos llamar “probs”, escribiendo las frecuencias esperadas como probabilidades
separadas por comas si son pocos datos, o especificando la columna del archivo donde
están estas frecuencias esperadas para cada dato en términos de probabilidades, si son
muchos datos. Debe verificarse que las probabilidades sumen 1.

Dado esto, el comando de R para ver si es que la distribución observada de los datos se
ajusta a la distribución esperada es:

chisq.test(VARIABLE, p=probs)

[23]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

Al correr este comando se nos muestral el estadístico Chi-cuadrado para las frecuencias
dadas, los grados de libertad (df) y el p-value.

9. Contraste de bondad de ajuste respecto de una distribución especial de probabilidad

Para contrastar si la distribución de determinado grupo de datos se ajusta a alguna


distribución especial de probabilidad (como la normal, uniforme, exponencial u otra) el
comando de R es el siguiente:

ks.test(VARIABLE, "pABREVIATURA DE FUNCIÓN DE DISTRIBUCIÓN")

Para la distribución normal el argumento será “pnorm”, para la uniforme será “punif”, y
para la exponencial será “pexp”. Al correr el comando debe mostrarse el valor del
estadístico del contraste de Kolmogorov-Smirnov para bondad de ajuste y el p-value
respectivo.

10. Contraste de normalidad

Un contraste más específico y usado para normalidad es el de Jarque-Bera que analiza si


un determinado grupo de datos tienen un coeficiente de asimetría y de curtosis que se
ajuste a lo respectivo de la distribución normal. El comando de R para realizar este
contraste es el siguiente:

library(tseries)
jarque.bera.test(VARIABLE)

Para correr la primera línea es necesario instalar el paquete “tseries” (se puede hacer por
medio de la instrucción install.packages(“tseries”)). Luego de correr el comando del

[24]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

contraste de Jarque-Bera, debe aparecer el valor del estadístico, los grados de libertad y el
p-value.

11. Contraste de homogeneidad

Los contrastes de homogeneidad buscan discernir si dos grupos de datos proceden de la


misma distribución de probabilidad independientemente de cuál sea ésta. En general un
contraste de homogeneidad entre dos muestras cualesquiera puede realizarse por medio
del comando de R siguiente:

ks.test(VARIABLE 1, VARIABLE 2)

Al correr este comando se nos muestra el valor del estadístico del contraste Kolmogorov-
Smirnov para homogeneidad (igualdad de distribución) y el p-value resultante.

12. Contraste de homogeneidad para muestras pareadas

Un caso particular de lo anterior da cuando tenemos observaciones de diferentes


características de un mismo conjunto de individuos u observaciones de una misma
característica para diferentes instantes de tiempo. Cuando ello se da, se habla de
“muestras pareadas” y el contraste de homogeneidad para las mismas puede hacerse con
el comando de R siguiente:

wilcox.test(VARIABLE 1, VARIABLE 2, alternative="TWO.SIDED","LESS","GREATER",)

Al correr este comando nos aparecerá el valor del estadístico del contraste de Wilcoxon y
el respectivo p-value.

[25]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

V. REGRESIÓN LINEAL SIMPLE

La regresión lineal simple es un método estadístico que modela la relación entre una
variable dependiente o explicada y un conjunto de variables independientes o
explicativas. Básicamente, el modelo de regresión lineal simple puede expresarse como:

𝑌𝑡 = 𝛽0 + 𝛽1 𝑋1 + 𝛽2 𝑋2 + 𝛽3 𝑋3 + ⋯ + 𝛽𝑛 𝑋𝑛 + 𝜀𝑖

Donde 𝑌𝑡 es la variable dependiente, los 𝑋𝑖 son las variables independientes, los 𝛽𝑖 son los
parámetros y 𝜀𝑖 es el error aleatorio.

Para simplificar, en los comandos asumiremos un modelo con solo dos variables
dependientes, pero puede ser extendido a más de modo análogo. Así, estaremos
trabajando con el modelo general:

𝑌𝑡 = 𝛽0 + 𝛽1 𝑋1 + 𝛽2 𝑋2 + 𝜀𝑖

Asimismo, simplemente llamaremos a la variable dependiente “y” y a las dos variables


independientes, “x1” y “x2” respectivamente, pero el lector puede poner los nombres que
mejor se le acomoden para visualizar e interpretar directamente.

Como en los casos anteriores, el R deberá “leer” primero la data para cada una de las
variables desde un archivo .csv. Ello se puede hacer adecuando la instrucción ya conocida:

library(xtable)
NOMBRE DE ARCHIVO <− read.csv("UBICACIÓN EXACTA DEL ARCHIVO EN LA PC O EN LA
WEB PONIENDO LA EXTENSIÓN .csv")
write.csv(NOMBRE DE ARCHIVO, file="NOMBRE DE ARCHIVO EN LA PC O EN LA WEB
PONIENDO LA EXTENSIÓN .csv", row.names=FALSE)

[26]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

y <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL ARCHIVO CON LOS


DATOS DE LA VARIABLE DEPENDIENTE"])
x1 <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL ARCHIVO CON LOS
DATOS DE LA PRIMERA VARIABLE INDEPENDIENTE"])
x2 <- as.numeric(NOMBRE DE ARCHIVO[, "NOMBRE DE COLUMNA DEL ARCHIVO CON LOS
DATOS DE LA SEGUNDA VARIABLE INDEPENDIENTE"])

Especificado esto, pasamos a presentar los comandos más básicos para regresión lineal
simple en R:

1. Estimación de modelo lineal

El comando de R para estimar un modelo lineal es el siguiente:

modelo <− lm(y~x1+x2, data=NOMBRE DE ARCHIVO)


summary(modelo)

Con este solo comando se nos dan casi todos los resultados relevantes de la estimación.
Así, en primer lugar, nos aparecen los datos de los residuos o errores de estimación
(“residuals”), es decir, la discrepancia entre los datos observados de la variable
dependiente y los que se deducen de nuestro modelo de estimación. En particular se nos
muestran el residuo mínimo (“Min”), el residuo máximo (“Max”), la mediana de los
residuos (“Median”) y los cuartiles correspondientes a 0.25 y 0.75 (“1Q” y “3Q”).

Luego de ello, se nos muestra una tabla con el resultado principal, que es la estimación de
los parámetros 𝛽 del modelo y sus respectivos estadísticos. La primera columna de datos
de esa tabla (“Estimate”) nos muestra el valor del coeficiente autónomo 𝛽0 (“Intercept”) y
los valores de 𝛽1 y 𝛽2 que serían los coeficientes multiplicativos de las respectivas
variables independientes (“x1” y “x2” en nuestro caso). En la segunda columna (“Std.

[27]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

Error”) aparecerá la desviación estándar correspondiente a cada parámetro; en la tercera


columna (“t value”), el estadístico t-student calculado para la hipótesis nula de que el
parámetro en cuestión sea igual a cero; y en la cuarta columna (“Pr(>|t|)”), el p-value
asociado al contraste. En general, si asumimos un nivel de significación del 5% y hallamos
que un p-value es mayor que 0.05, deberemos decir que el parámetro al cual está
asociado ese p-value no es individualmente significativo.

Finalmente, debajo de ello, se nos muestran otros estadísticos relevantes como el R2 (“R-
squared”) y el R2 ajustado (“Ajusted R-squared”) que nos dicen qué proporción de las
variaciones de la variable dependiente es explicada por la variación de las variables
independientes. A su vez, aparece el estadístico F (“F-statistic”) del contraste de
significancia conjunta, siendo que si su p-value asociado es mayor que 0.05, podemos
decir que las variables independientes elegidas no son conjuntamente explicativas de la
variable dependiente.

2. Gráfica de la relación entre dos variables

Para graficar la relación entre dos variables de acuerdo a los datos con los que contamos
el comando de R es el siguiente:

plot(y~x1, data=NOMBRE DE ARCHIVO)

Esto es para el caso de la relación entre las variables “y” y “x1”. Para relacionar otras
variables solo se escribe de modo análogo.

3. Vector de coeficientes estimados

En caso queramos tener solamente los coeficientes estimados en un vector, una vez
estimado el modelo, podemos ejecutar el comando de R siguiente:

[28]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

(beta <− coef(modelo))

4. Representación de un solo coeficiente

En caso nos interese tener un solo coeficiente por separado para, por ejemplo, realizar
otros contrastes o análisis en R con el mismo, podemos ejecutar el comando siguiente:

beta[i]

Donde “i” representa el lugar del coeficiente. Así, si nos interesa extraer particularmente
el coeficiente asociado a la variable “x2” debemos poner “beta[3]”, ya que estaría en la
tercera posición (recuérdese que el primer coeficiente es el del intercepto).

5. Matriz de varianzas y covarianzas

Para obtener la matriz de varianzas y covarianzas de los coeficientes estimados debemos


ejecutar el siguiente comando de R:

(VCbeta <− vcov(modelo))

6. Vector de varianzas de los estimadores

En caso sólo queramos las varianzas de los estimadores, una vez ejecutado el comando
anterior, debemos ejecutar también el siguiente:

(Varbeta <− diag(vcov(modelo)))

[29]
MANUAL BÁSICO DE ESTADÍSTICA CON R
Dante A. Urbina

7. Coeficiente de correlación de Pearson

El coeficiente de correlación de Pearson permite medir la correlación entre dos variables


cuantitativas con distribución normal. El comando de R para calcularlo es el siguiente:

cor(x1, x2, method="pearson")

8. Coeficiente de correlación de Spearman

El coeficiente de correlación de Spearman permite medir la correlación entre dos variables


cuando las mediciones se realizan en una escala ordinal (que se puede agrupar en rangos),
o cuando no existe distribución normal (aunque es una medida de asociación apropiada
incluso bajo normalidad ya que tiene casi la misma eficiencia asintótica que el coeficiente
de correlación lineal convencional). El comando de R para calcularlo es el siguiente:

cor(x1, x2, method="spearman")

9. Coeficiente de correlación de Kendall

El coeficiente de correlación de Kendall o tau de Kendall es una medida de la correlación


de rangos, es decir, de la similitud u asociación de los ordenamientos de dos grupos de
datos cuando los ponemos en rangos, ubicando los pares concordantes y discordantes. El
comando de R para calcularlo es el siguiente:

cor(x1, x2, method="kendall")

[30]

También podría gustarte