es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Necesito ayuda para realizar una prueba t de comparación de medias automatizada en columnas diferentes de un documento CSV en R.

Me gustaría realizar una prueba t pareada automatizada entre la columna 2 y 3, 4 y 5, 6 y 7, y así sucesivamente. Cuando uso el código de abajo, puedo realizar una prueba t, pero no una prueba t no pareada.

data:

paciente peso_1 peso_2 BMI_1 BMI_2 chol_1 chol_2 gly_1 gly_2
1 A 86.0 97.0 34.44961 30.61482 86.0 97.0 34.44961 30.61482
2 B 111.0 55.5 33.51045 22.80572 111.0 55.5 33.51045 22.80572
3 C 92.4 70.0 28.51852 25.71166 92.4 70.0 28.51852 25.71166

código:

nombres <- colnames(dataframe)
for(i in seq(from = 2, to = 8, by = 2)){
print(nombres[i])
print(nombres[i+1])
print(t.test(dataframe[i], dataframe[i+1]))
}

resultado:

[1] “peso_1”
[1] “peso_2”

    Prueba t de dos muestras (Welch)

datos: dataframe[i] y dataframe[i + 1]
t = 1.3183, df = 75.892, valor p = 0.1914
hipótesis alternativa: diferencia verdadera de medias no es igual a 0
intervalo de confianza del 95 por ciento:
-2.459965 12.090735
estimaciones puntuales:
media de x media de y
91.50256 86.68718
[1] “BMI_1”
[1] “BMI_2”

    Prueba t de dos muestras (Welch)

datos: dataframe[i] y dataframe[i + 1]
t = 1.5851, df = 75.866, valor p = 0.1171
hipótesis alternativa: diferencia verdadera de medias no es igual a 0
intervalo de confianza del 95 por ciento:
-0.3817027 3.3571650
estimaciones puntuales:
media de x media de y
30.45167 28.96394

Y así sucesivamente. Cuando añado paired=TRUE a los datos:

nombres <- colnames(dataframe)
for(i in seq(from = 2, to = 8, by = 2)){
print(nombres[i])
print(nombres[i+1])
print(t.test(dataframe[i], dataframe[i+1], paired=TRUE))
}

Los resultados son exactamente los mismos, como si no incluyera la función paireada. ¿Alguien podría ayudarme con esto? Muchas gracias de antemano.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para realizar una prueba t-emparejada, debes especificar que las muestras están emparejadas estableciendo el parámetro paired en TRUE. En el código proporcionado, el parámetro paired está colocado fuera de la llamada a la función t.test.

    Para realizar una prueba t-emparejada entre las columnas 2 y 3, debes modificar el código de la siguiente manera:

    nombres <- colnames(data)
    for(i in seq(from = 2, to = 7, by = 2)){
      print(nombres[i])
      print(nombres[i+1]) 
      print(t.test(data[[i]], data[[i+1]], paired=TRUE))
    }
    

    Ten en cuenta que el parámetro paired ahora está dentro de la llamada a la función t.test, y el parámetro to de la llamada a la función seq se establece en 7, ya que solo hay 7 columnas en los datos proporcionados.

    Este código realizará una prueba t-emparejada entre las columnas 2 y 3 (peso), 4 y 5 (IMC) y 6 y 7 (colesterol), como se especifica en la pregunta.

    ¡Espero que esto ayude!

Comments are closed.