Paquete R para identificar relaciones entre variables [cerrado]

13

¿Existe un paquete R que pueda usar para explorar si existen relaciones entre variables?

Por lo general, cuando busco patrones, busco correlaciones y luego un diagrama de facetas. Luego aplico manualmente algunas transformaciones a las variables en los datos. Me preguntaba si podría acelerar este proceso a través de un paquete R.

celenius
fuente
Si tiene su propio proceso, siempre puede lanzar su propio paquete. O simplemente una función reutilizable en algún archivo cargado al comienzo de su script.
Brandon Bertelsen

Respuestas:

9

AFAIK, no. Para ser más precisos, no sé de un solo paquete R que haría parte de lo que se denomina Análisis exploratorio de datos (EDA) para que a través de una sola llamada de función - Estoy pensando en la re-expresión y la revelación aspectos discutido en Hoaglin, Mosteller y Tukey, Comprender el análisis robusto y exploratorio de datos . Wiley-Interscience, 1983, en particular.

Sin embargo, existen algunas alternativas ingeniosas en R, especialmente con respecto a la exploración interactiva de datos (Mire aquí para una discusión interesante: ¿ Cuándo es útil utilizar la visualización interactiva de datos? ). Puedo pensar en

  • iplots , o su sucesor Acinonyx , para la visualización interactiva (que permite el cepillado, las parcelas vinculadas y similares) (algunas de estas funcionalidades se pueden encontrar en el paquete latticist ; finalmente, rgl es ideal para la visualización interactiva en 3D).
  • ggobi para pantallas interactivas y dinámicas, incluida la reducción de datos (escalamiento multidimensional) y la búsqueda de proyección

Esto es solo para la exploración interactiva de datos, pero diría que esta es la esencia de EDA. De todos modos, las técnicas anteriores podrían ayudar al explorar relaciones bivariadas o de orden superior entre variables numéricas. Para datos categóricos, el paquete vcd es una buena opción (visualización y tablas de resumen). Entonces, diría que los paquetes vegan y ade4 son lo primero para explorar las relaciones entre variables de tipos de datos mixtos.

Finalmente, ¿qué pasa con la minería de datos en R? (Pruebe esta palabra clave en Rseek )

chl
fuente
(+1) ¡Me alegro de verte respondiendo preguntas!
whuber
+1 Btw: pequeño error tipográfico - Acinonyx (se transponen i & y).
Iterator
@Iterator Gracias por atrapar el error tipográfico. (Ya hice +1 en tu respuesta, bueno que hayas citado el artículo de Wilkinson).
chl
2
Ahora loontambién hay waddella.github.io/loon. El crédito va a @hadleywickham por señalar esto.
Ari B. Friedman
11

Si solo desea ver rápidamente cómo se correlacionan las variables en su conjunto de datos, eche un vistazo a la función pares (), o incluso mejor, la función pares.panels () en el paquete psicológico. Escribí un poco sobre la función de pares aquí .

Usando la función pares () o psic :: pares.panels () es bastante fácil hacer matrices de diagrama de dispersión.

pairs.panels(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21,lm=TRUE)

ingrese la descripción de la imagen aquí

Stephen Turner
fuente
7

Consulte el scagnosticspaquete y el trabajo de investigación original . Esto es muy interesante para las relaciones bivariadas. Para las relaciones multivariantes, la búsqueda de proyección es un muy buen primer paso.

Sin embargo, en general, el dominio y la experiencia en datos reducirán y mejorarán sus métodos para investigar rápidamente las relaciones.

Iterador
fuente
7

La función chart.Correlation en PerformanceAnalytics proporciona una funcionalidad similar a la función plot.pairs mencionada por @Stephen Turner, excepto que se suaviza con una función loess en lugar de un modelo lineal, y la importancia de las correlaciones.

library(PerformanceAnalytics)
chart.Correlation(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21)

Gráfico

Zach
fuente
5

Si está buscando posibles transformaciones para trabajar con correlación, entonces una herramienta que no se ha mencionado aún y que puede ser útil es la aceque se puede encontrar en el acepackpaquete (y probablemente también en otros paquetes). Esto hace un proceso interactivo de probar muchas transformaciones diferentes (usando suavizadores) para encontrar las transformaciones para maximizar la correlación entre un conjunto de variables xy una variable ay. Trazar las transformaciones puede sugerir transformaciones significativas.

Greg Snow
fuente
2

Puede usar la función DCOR en el paquete 'energía' para calcular una medida de dependencia no lineal llamada correlación de distancia y trazar como se indicó anteriormente. El problema con la correlación de Pearson es que solo puede detectar relaciones lineales entre variables. Asegúrese de elegir el parámetro de escritura para el índice en la función DCOR que dice.

coche fúnebre
fuente