Pruebas de correlación de Spearman en programación R

La fuerza de la asociación entre dos variables se conoce como prueba de correlación. Por ejemplo, si uno está interesado en saber si existe una relación entre los pesos de madres e hijas, se puede calcular un coeficiente de correlación para responder a esta pregunta. Para obtener más información sobre la correlación, consulte Correlación.

Métodos para el análisis de correlación

Existen principalmente dos tipos de correlación:

  • Correlación Paramétrica – Correlación de Pearson(r) : Mide una dependencia lineal entre dos variables (x e y) y se conoce como prueba de correlación paramétrica porque depende de la distribución de los datos.
  • Correlación No Paramétrica – Kendall(tau) y Spearman(rho) : Son coeficientes de correlación basados ​​en rangos, conocidos como correlación no paramétrica.

Fórmula de correlación de Spearman

La correlación de Spearman es una correlación no paramétrica también conocida como coeficientes de correlación basados ​​en rangos. La fórmula para calcular la correlación de Spearman es la siguiente:{{\displaystyle r_s= 1 - \frac {6\sum d_i^2}{n(n^2 - 1)}

donde, r s : Coeficiente de correlación de Spearman d i : La diferencia en los rangos dados a los valores de las dos variables para cada elemento de los datos, n: Número total de observaciones

Nota:

  • r s toma un valor entre -1 (asociación negativa) y 1 (asociación positiva).
  • r s = 0 significa que no hay asociación.
  • Si la asociación es monótonamente creciente, entonces r s = 1.
  • Si la asociación es monótonamente decreciente entonces r s = -1.
  • Se puede utilizar cuando la asociación es no lineal.
  • Se puede aplicar para variables ordinales.

Implementación en R

R Language proporciona dos métodos para calcular el coeficiente de correlación. Mediante el uso de las funciones cor() o cor.test() se puede calcular. Se puede observar que cor() calcula el coeficiente de correlación mientras que cor.test() calcula la prueba de asociación o correlación entre muestras pareadas. Devuelve tanto el coeficiente de correlación como el nivel de significación (o valor p) de la correlación.

Sintaxis: cor(x, y, método = “spearman”) cor.test(x, y, método = “spearman”) Parámetros: x, y: vectores numéricos de la misma longitud método: método de correlación

Ejemplo 1: # Usando el método cor() 

Python3

# R program to illustrate
# Spearman Correlation Testing
# Using cor()
 
# Taking two numeric
# Vectors with same length
x = c(15, 18, 21, 15, 21)
y = c(25, 25, 27, 27, 27)
 
# Calculating
# Correlation coefficient
# Using cor() method
result = cor(x, y, method = "spearman")
 
# Print the result
cat("Spearman correlation coefficient is:", result)

Producción:

Spearman correlation coefficient is: 0.4564355

# Usando el método cor.test() 

Python3

# R program to illustrate
# Spearman Correlation Testing
# Using cor.test()
 
# Taking two numeric
# Vectors with same length
x = c(15, 18, 21, 15, 21)
y = c(25, 25, 27, 27, 27)
 
# Calculating
# Correlation coefficient
# Using cor.test() method
result = cor.test(x, y, method = "spearman")
 
# Print the result
print(result)

Producción:

Spearman's rank correlation rho

data:  x and y
S = 10.871, p-value = 0.4397
alternative hypothesis: true rho is not equal to 0
sample estimates:
      rho 
0.4564355 

En la salida anterior:

  • S es el valor del estadístico de prueba (S = 10.871)
  • El valor p es el nivel de significancia de la estadística de prueba (valor p = 0,4397).
  • hipótesis alternativa es una string de caracteres que describe la hipótesis alternativa (la verdadera rho no es igual a 0).
  • estimaciones de la muestra es el coeficiente de correlación. Para el coeficiente de correlación de Spearman se denomina rho (Cor.coeff = 0,4564).

Ejemplo 2: Datos: Descargue el archivo CSV aquí

Python3

# R program to illustrate
# Spearman Correlation Testing
 
# Import data into RStudio
df = read.csv("Auto.csv")
 
# Taking two column
# Vectors with same length
x = df$mpg
y = df$weight
 
 
# Calculating
# Correlation coefficient
# Using cor() method
result = cor(x, y, method = "spearman")
 
# Print the result
cat("Spearman correlation coefficient is:", result)
 
# Using cor.test() method
res = cor.test(x, y, method = "spearman")
print(res)

Producción:

Spearman correlation coefficient is: -0.9140708

    Spearman's rank correlation rho

data:  x and y
S = 8613223, p-value < 2.2e-16
alternative hypothesis: true rho is not equal to 0
sample estimates:
       rho 
-0.9140708 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *