Calcular array de correlación solo para columnas numéricas en R

Una array de correlación es una representación tabular de la relación entre los atributos numéricos de un marco de datos. Los valores presentes en la tabla son coeficientes de correlación entre los atributos. 

Conjunto de datos utilizado: bestsellers

Para crear una array de correlación, se llama a la función cor() con el marco de datos como argumento.

Sintaxis: cor(marco de datos)

Ejemplo:

R

df<-read.csv("bestsellers.csv")
  
cor(df)

Producción:

Error in cor(df) : 'x' must be numeric

Esta función falla cuando el marco de datos consta de valores además de los valores numéricos. La creación de una array de correlación en tal situación se puede realizar mediante cualquiera de los métodos que se indican a continuación.

Método 1: Usando sapply()

Aquí se llama a cor() como se indicó anteriormente en el marco de datos, pero esta vez solo se le dan columnas numéricas. Para filtrar las columnas numéricas, se aplica una operación para comprobar los valores numéricos en el marco de datos utilizando sapply().

La función sapply() en R Language toma una lista, un vector o un marco de datos como entrada y da salida en un vector o array. Es útil para operaciones en objetos de lista y devuelve un objeto de lista de la misma longitud que el conjunto original.

Sintaxis: sapply(X, FUN)

Parámetros:

  • X: un vector o un objeto
  • FUN: Función aplicada a cada elemento de x

Ejemplo:

R

df<-read.csv("bestsellers.csv")
  
cor(df[sapply(df,is.numeric)])

Producción:

Método 2: Usar lapply()

Del mismo modo, lapply también se puede aplicar para filtrar los valores numéricos. Función lapply() El lenguaje R se usa para aplicar una función sobre una lista de elementos.

Sintaxis: lapply(lista, función)

Parámetros:

  • lista: lista de elementos
  • func: operación a aplicar

Después de seleccionar los datos requeridos, la lista se convierte en un vector usando unlist(), y luego este marco de datos se pasa a cor() para producir una array de correlación.

La función unlist() en R Language se usa para convertir una lista en un vector. Simplifica producir un vector conservando todos los componentes.

Sintaxis: unlist(lista)

Parámetros:
list: Es una lista o Vector
use.name: Valor booleano para conservar o no los nombres de las posiciones

Ejemplo:

R

df<-read.csv("bestsellers.csv")
  
cor(df[, unlist(lapply(df, is.numeric))])

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 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 *