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.

Calcule la correlación entre dos variables en dos escalas diferentes por clase.

Combiné dos conjuntos de datos con tres variables: clase, total1 y total2. Total1 es el promedio individual de puntuación para cada estudiante, total2 es el promedio de la evaluación del profesor para cada clase. La puntuación promedio en dos escalas diferentes.

df
    class   total1   total2
    A       4.9      6.7
    A       3.8      6.7
    A       4.2      6.7
    B       4.5      7.2
    B       3.9      7.2 
    B       4.1      7.2
    C       3.5      6.5
    C       4.4      6.5
    C       3.6      6.5

Quiero calcular la correlación entre total1 y total2 con r y el valor p. Usé este código pero no pude obtener el promedio de total1 por clase:

library("ggpubr")
ggscatter(df, x = "total2", y = "total1", 
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "spearman",
          xlab = "Puntuación del profesor", ylab = "Puntuación del estudiante")
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para calcular la correlación entre total1 y total2, puedes utilizar la función cor() en R con el parámetro method establecido en "spearman", que calcula el coeficiente de correlación de rangos de Spearman:

    correlation <- cor(df$total1, df$total2, method="spearman")
    

    Esto te dará el valor del coeficiente de correlación, pero también querrás verificar la significancia de la correlación. Para esto, puedes utilizar la función cor.test():

    correlation_test <- cor.test(df$total1, df$total2, method="spearman")
    

    Esto te dará un objeto de resultado que incluye el coeficiente de correlación, el valor p y los intervalos de confianza. Para acceder a estos valores, puedes utilizar el operador $:

    correlation_test$estimate # coeficiente de correlación
    correlation_test$p.value # valor p
    correlation_test$conf.int # intervalos de confianza
    

    Ten en cuenta que en el código que proporcionaste utilizando ggscatter(), solo estás visualizando la relación entre total1 y total2, sin separar por clase. Si deseas incluir la clase como factor en la visualización, puedes agregar el parámetro color:

    ggscatter(df, x = "total2", y = "total1", 
              add = "reg.line", conf.int = TRUE, 
              cor.coef = TRUE, cor.method = "spearman",
              xlab = "Puntuación del profesor", ylab = "Puntuación del estudiante",
              color = "class")
    

    Esto te dará un diagrama de dispersión con cada clase coloreada de manera diferente, lo cual te puede ayudar a visualizar las diferencias en la correlación entre las clases.

Comments are closed.