En esta sección del módulo vamos a ver la sintaxis de los test que nos permiten comparar dos muestras, es decir, comprobar si hay diferencias significativas entre dos grupos. Si los datos a comparar son normales, podremos utilizar el test de la t de student. Pero si no, recurriremos a la estadística paramétrica. En esta sección, asumiremos que los datos son normales dado que pretendemos enseñar la sintaxis.
Cargamos el dataset CO2
, que mide la capacidad de absorción de CO2 de la planta Echinochloa crus-galli en función de su origen, templado, o frío, y el tratamiento experimental que han recibido, si han sido congeladas o no antes de medir su capacidad. El problema a averiguar es si el tratamiento de congelar las plantas repercute en la capacidad de absorción de CO2 y si el origen climático modula el impacto del tratamiento. Es decir, tenemos que tener en cuenta dos factores.
str(CO2)
nos permite comprobar las variables a tomar más en cuenta: Treatment (el tipo de tratamiento, congeladas o no), Type (el origen, Missisipi, clima templado, o Quebec, frío). Uptake contiene los datos de captura de CO2.
Por ello vamos a comprobar si hay diferencias significativas en cada categoría, primero en función del origen y después en función del tramiento. Vamos a aprovechar el aprendizaje del módulo de publicación para rescatar la función pander()
, que nos va a permitir producir tablas que permiten visualizar mejor los resultados del test. Podéis comprobar la diferencia de los resultados.
Para ejecutar el test, usamos la función t.test()
. Simplemente especificaremos la variable respuesta en función de un factor, como una fórmula: `t.test(respuesta~factor,data=nuestros_datos).
library(magrittr)
library(pander)
data(CO2)
t.test(uptake~Type,data=CO2)
##
## Welch Two Sample t-test
##
## data: uptake by Type
## t = 6.5969, df = 78.533, p-value = 4.451e-09
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 8.839475 16.479572
## sample estimates:
## mean in group Quebec mean in group Mississippi
## 33.54286 20.88333
t.test(uptake~Type,data=CO2)%>%
pander()
Test statistic | df | P value | Alternative hypothesis |
---|---|---|---|
6.597 | 78.53 | 4.451e-09 * * * | two.sided |
mean in group Quebec | mean in group Mississippi |
---|---|
33.54 | 20.88 |
t.test(uptake~Treatment,data=CO2)%>%
pander()
Test statistic | df | P value | Alternative hypothesis |
---|---|---|---|
3.048 | 80.94 | 0.003107 * * | two.sided |
mean in group nonchilled | mean in group chilled |
---|---|
30.64 | 23.78 |
En ambos casos, el P-valor nos indica que las diferencias son estadísticamente significativas.
No es la única manera de ejecutar el test tal y como nos indica la ayuda (?t.test
). Además de especificar algunos elementos de los test de hipótesis, si tenemos las variables alojadas en diferentes marcos de datos, o en vectores: t.test(datos1$variable1,datos2$variable2)
.
Una de las especificidades es la asunción de que la varianza de las muestras son iguales o no.
t.test(uptake~Treatment,data=CO2,var.equal=TRUE)%>%
pander()
Test statistic | df | P value | Alternative hypothesis |
---|---|---|---|
3.048 | 82 | 0.003096 * * | two.sided |
mean in group nonchilled | mean in group chilled |
---|---|
30.64 | 23.78 |