Pacote R para identificar relacionamentos entre variáveis ​​[fechadas]

13

Existe um pacote R que eu possa usar para explorar se existem relacionamentos entre variáveis?

Normalmente, quando procuro padrões, procuro correlações e, em seguida, um gráfico de facetas. Em seguida, aplico manualmente algumas transformações às variáveis ​​nos dados. Eu queria saber se eu poderia acelerar esse processo através de um pacote R.

celenius
fonte
Se você possui seu próprio processo, sempre pode lançar seu próprio pacote. Ou apenas uma função reutilizável em algum arquivo carregado no início do seu script.
precisa saber é o seguinte

Respostas:

9

AFAIK, não. Para ser mais preciso, não conheço um único pacote R que faça parte do que é chamado Análise Exploratória de Dados (EDA) para você através de uma única chamada de função - estou pensando nos aspectos de re-expressão e revelação discutido em Hoaglin, Mosteller e Tukey, Entendendo a análise de dados robusta e exploratória . Wiley-Interscience, 1983, em particular.

No entanto, existem algumas alternativas bacanas em R, especialmente em relação à exploração interativa de dados (procure aqui uma discussão interessante: quando a visualização de dados interativa é útil? ). Eu posso imaginar

  • iplots , ou seu sucessor Acinonyx , para visualização interativa (permitindo escovação, plotagens vinculadas e similares) (algumas dessas funcionalidades podem ser encontradas no pacote latticist ; finalmente, rgl é ótimo para visualização interativa em 3D)
  • ggobi para displays interativos e dinâmicos, incluindo redução de dados (escala multidimensional) e Perseguição de Projeção

Isso é apenas para exploração interativa de dados, mas eu diria que essa é a essência da EDA. De qualquer forma, as técnicas acima podem ajudar ao explorar relacionamentos bivariados ou de ordem superior entre variáveis ​​numéricas. Para dados categóricos, o pacote vcd é uma boa opção (tabelas de visualização e resumo). Então, eu diria que os pacotes vegan e ade4 são os primeiros a explorar relacionamentos entre variáveis ​​de tipos de dados mistos.

Por fim, e a mineração de dados no R? (Tente esta palavra-chave em Rseek )

chl
fonte
(+1) É bom ver você respondendo perguntas!
whuber
+1 Btw: pequeno erro de digitação - Acinonyx (i e y são transpostos).
Iterator
@ Iterator Obrigado por pegar o erro de digitação. (Já marquei sua resposta com +1, que bom que você citou o artigo de Wilkinson).
chl
2
Agora loontambém há waddella.github.io/loon. O crédito vai para @hadleywickham por apontar isso.
Ari B. Friedman
11

Se você quiser apenas ver rapidamente como as variáveis ​​do seu conjunto de dados estão correlacionadas, dê uma olhada na função pairs (), ou melhor ainda, na função pairs.panels () no pacote psych. Escrevi um pouco sobre os pares de funções aqui .

Usando a função pairs () ou psych :: pairs.panels (), é muito fácil criar matrizes de dispersão.

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

insira a descrição da imagem aqui

Stephen Turner
fonte
7

Confira a scagnosticsembalagem e o trabalho de pesquisa original . Isso é muito interessante para relacionamentos bivariados. Para relacionamentos multivariados, a busca por projeção é um primeiro passo muito bom.

No entanto, em geral, a experiência em domínio e dados restringirá e aprimorará seus métodos para investigar rapidamente os relacionamentos.

Iterador
fonte
7

A função chart.Correlation no PerformanceAnalytics fornece funcionalidade semelhante à função plot.pairs mencionada por Stephen Turner, exceto pelo fato de ser suave com uma função loess em vez de um modelo linear e com o significado das correlações.

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

Gráfico

Zach
fonte
5

Se você estiver procurando por possíveis transformações para trabalhar com correlação, uma ferramenta que ainda não foi mencionada que possa ser útil é a aceque pode ser encontrada no acepackpacote (e provavelmente em outros pacotes também). Isso faz um processo interativo de tentar muitas transformações diferentes (usando smoothers) para encontrar as transformações para maximizar a correlação entre um conjunto de variáveis ​​x e uma variável y. A plotagem das transformações pode sugerir transformações significativas.

Greg Snow
fonte
2

Você pode usar a função DCOR no pacote 'energia' para calcular uma medida de dependência não linear chamada correlação de distância e plotagem, como acima. O problema com a correlação de Pearson é que ele só pode detectar relações lineares entre variáveis. Certifique-se de escolher o parâmetro de gravação para o índice na função DCOR que disse.

carro fúnebre
fonte