Compara dos muestras con media, desviación estándar y tamaño muestral conocidas en R

Cuando estoy leyendo artículos científicos, en raras ocasiones se ofrecen todos los datos en bruto que han sido usados para realizar los test estadísticos. Sin embargo, lo que suele venir publicado son la media, desviación estándar y tamaño muestral. ¿Qué pasa si quiero comparar los datos de dos poblaciones publicadas en sendos artículos científicos? Pues es lo que voy a mostraros a continuación.

Quiero leer...

Ejemplo de dos muestras con media, desviación estándar y tamaño muestral conocidas

Ejemplo

Vamos a usar los datos publicados en la Tabla 7 del artículo científico de Guatelli-Steinberg y Reid (2008). En ella están publicados las líneas de crecimiento, entre otros, del incisivo central superior (I1). Entre las poblaciones de humanos que aparecen, nos quedaremos con la de Newcastle (Reino Unido) y África del Sur. Los datos son los siguientes:

  1. Newcastle: Media = 165; Desviación estándar = 21; Tamaño muestral = 19
  2. África del Sur: Media = 117; Desviación estándar = 13; Tamaño muestral = 20

¿Son diferentes estadísticamente estas dos poblaciones?

Código en R

Copiamos y pegamos el siguiente código en R Commander, en la pestaña R Script. La muestra 1 es Newcastle y la muestra 2 es África del Sur.

[sourcecode lang=»r»] #Introducir datos de la muestra 1:
n1 =
Media1 =
Desvest1 =
#Introducir datos de la muestra 2:
n2 =
Media2 =
Desvest2 =

#Aquí no tocamos nada
T.test = function(n, mean, sd) {
s = sum((n – 1) * sd^2) / (sum(n) – 2) # weighted variance
t = sqrt(prod(n) / sum(n)) * (diff(mean) / sqrt(s)) # t statistic
df = sum(n) – 2  # degrees of freedom
p = (1 – pt(abs(t), df)) * 2 # p value
c(t = t, p = p)
}
dat = data.frame(mean = c(Media1, Media2), sd = c(Desvest1, Desvest2), n = c(n1, n2))
T.test(dat$n, dat$mean, dat$sd)
[/sourcecode]

Para aprender a ejecutar código en R Commander, recomiendo leer la siguiente entrada.

Compara dos muestras con media, desviación estándar y tamaño muestral conocidas en R

 

  • Paso 1. Copiamos y pegamos el código anterior con los datos ya del ejemplo. Seleccionamos todo el texto y presionamos sobre Ejecutar.
  • Paso 2. Observamos el resultado del estadístico T-Student y su p-valor.

Y este es el resultado:

>  T.test(dat$n, dat$mean, dat$sd)
            t             p 
-8.631448e+00  2.158242e-1

Observamos que el p-valor es menor de 0.05, por lo que rechazamos la hipótesis nula de igualdad y aceptamos que son diferentes.

Referencias

  • Guatelli-Steinberg, D., Reid, D.J., 2008. What molars contribute to an emerging understanding of lateral enamel formation in Neandertals vs. modern humans. Journal of Human Evolution 54, 236–250. doi:10.1016/j.jhevol.2007.09.016

2 comentarios en «Compara dos muestras con media, desviación estándar y tamaño muestral conocidas en R»

  1. por alguna razon que no comprendo me da constantemente el siguiente error al copiar la formula. Ayuda!!!!
    Error: objeto ‘n’ no encontrado

    df <- sum(n) – 2 # degrees of freedom
    Error: unexpected input en » df <- sum(n) –»
    p <- (1 – pt(abs(t), df)) * 2 # p value
    Error: unexpected input en » p <- (1 –»
    c(t = t, p = p)
    Error: objeto ‘p’ no encontrado
    }
    Error: inesperado ‘}’ en » }»
    dat = data.frame(mean = c(Media1, Media2), sd = c(Desvest1, Desvest2), n = c(

    Responder

Deja un comentario