Otra posible solución es simular los conjuntos de datos y luego utilizar la función de prueba t estándar. Puede ser menos eficiente, computacionalmente hablando, pero es muy simple.
t.test.from.summary.data <- function(mean1, sd1, n1, mean2, sd2, n2, ...) {
data1 <- scale(1:n1)*sd1 + mean1
data2 <- scale(1:n2)*sd2 + mean2
t.test(data1, data2, ...)
}
Dado que la prueba t sólo depende de los estadísticos de resumen de la muestra, pero no tiene en cuenta las distribuciones reales de la muestra, esta función dará exactamente los mismos resultados (excepto los nombres de las variables) que la función de prueba t:
x <- c(1.0, 1.2, 2.3, 4.2, 2.1, 3.0, 1.9, 2.0, 3.2, 1.6)
y <- c(3.5, 4.2, 3.3, 2.0, 1.7, 4.5, 2.7, 2.8, 3.3)
m_x <- mean(x)
m_y <- mean(y)
s_x <- sd(x)
s_y <- sd(y)
t.test.from.summary.data(m_x, s_x, 10, m_y, s_y, 9)
Welch Two Sample t-test
data: data1 and data2
t = -1.9755, df = 16.944, p-value = 0.06474
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.78101782 0.05879559
sample estimates:
mean of x mean of y
2.250000 3.111111
t.test(x,y)
Welch Two Sample t-test
data: x and y
t = -1.9755, df = 16.944, p-value = 0.06474
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.78101782 0.05879559
sample estimates:
mean of x mean of y
2.250000 3.111111
2 votos
Este artículo de Wikipedia además de la página de ayuda de las funciones de distribución t de R (obtenida por
?pt
) -- ver especialmentept()
-- tienen toda la información que necesitas para hacerlo tú mismo. Y aprenderás un lote sobre estadísticas y R si lo haces.4 votos
Ya hay buenas respuestas aquí, y de hecho es muy fácil (y una buena práctica) escribir una función para esto usted mismo; sin embargo, sólo añadiré que podría echar un vistazo al
tsum.test
función en el paquete BSDA que implementa una prueba t (de dos muestras; Welch o de igual varianza y también de una muestra) a partir de los datos de resumen que usted proporciona. Básicamente funciona como la prueba t en vanilla R pero en la información de resumen.3 votos
Para ser honesto, cuando aprendía a programar mi profesor siempre decía: "no reinventes la rueda". Por lo tanto, la función más lógica sería
tsum.test()
de laBSDA library
como dijo @Nick Cox. Hace exactamente lo mismo que escribió @macro en líneas de código. Si la pregunta se hizo, lo que es la comprensión del cálculo de fondo para el cálculo de la estadística de la prueba t en R entonces Marco sería más apropiado una respuesta. Tenga en cuenta, no estoy tratando de ofender a nadie, sólo exponer mi opinión personal relacionada con mi formación profesional. Y @marco que es un poco de codificación aseado :)