Paket R untuk mengidentifikasi hubungan antar variabel [ditutup]

13

Apakah ada paket R yang bisa saya gunakan untuk mengeksplorasi apakah ada hubungan antar variabel?

Biasanya ketika saya mencari pola saya melihat korelasi, dan kemudian plot segi. Kemudian saya secara manual menerapkan beberapa transformasi ke variabel dalam data. Saya bertanya-tanya apakah saya bisa mempercepat proses ini melalui paket R.

celenius
sumber
Jika Anda memiliki proses sendiri, Anda selalu dapat menggulung paket Anda sendiri. Atau hanya fungsi yang dapat digunakan kembali dalam beberapa file yang dimuat di awal skrip Anda.
Brandon Bertelsen

Jawaban:

9

AFAIK, tidak. Untuk lebih tepatnya, saya tidak tahu satu paket R yang akan melakukan bagian dari apa yang disebut Exploratory Data Analysis (EDA) untuk Anda melalui panggilan fungsi tunggal - Saya sedang memikirkan aspek ekspresi ulang dan wahyu dibahas dalam Hoaglin, Mosteller dan Tukey, Understanding Robust and Exploratory Data Analysis . Wiley-Interscience, 1983, khususnya.

Namun, ada beberapa alternatif bagus dalam R, terutama mengenai eksplorasi data interaktif (Lihat di sini untuk diskusi menarik: Kapan visualisasi data interaktif berguna untuk digunakan? ). Saya bisa memikirkan

  • iplots , atau penggantinya Acinonyx , untuk visualisasi interaktif (memungkinkan untuk menyikat, plot terkait, dan sejenisnya) (Beberapa fungsi ini dapat ditemukan dalam paket latticist ; akhirnya, rgl sangat bagus untuk visualisasi interaktif 3D.)
  • ggobi untuk tampilan interaktif dan dinamis, termasuk pengurangan data (penskalaan multidimensi) dan Pengejaran Proyeksi

Ini hanya untuk eksplorasi data interaktif, tetapi saya akan mengatakan ini adalah inti dari EDA. Bagaimanapun, teknik di atas mungkin membantu ketika mengeksplorasi hubungan bivariat atau tingkat tinggi antara variabel numerik. Untuk data kategorikal, paket vcd adalah pilihan yang baik (tabel visualisasi dan ringkasan). Kemudian, saya akan mengatakan daripada paket vegan dan ade4 yang lebih dulu untuk mengeksplorasi hubungan antara variabel tipe data campuran.

Akhirnya, bagaimana dengan data mining di R? (Coba kata kunci ini di Rseek )

chl
sumber
(+1) Senang melihat Anda kembali menjawab pertanyaan!
whuber
+1 Btw: kesalahan ketik kecil - Acinonyx (saya & y ditransposisikan).
Iterator
@Iterator Terima kasih telah menangkap kesalahan ketik. (Saya sudah memberi +1 tanggapan Anda, bagus karena Anda mengutip makalah Wilkinson).
chl
2
Sekarang loonjuga ada waddella.github.io/loon Credit diberikan ke @hadleywickham karena menunjukkan hal ini.
Ari B. Friedman
11

Jika Anda hanya ingin melihat sekilas bagaimana variabel dalam dataset Anda berkorelasi, lihat fungsi pasangan (), atau bahkan lebih baik, fungsi pairs.panels () dalam paket psik. Saya menulis sedikit tentang fungsi pasangan di sini .

Menggunakan fungsi pairs () atau psych :: pairs.panels () cukup mudah untuk membuat matriks sebar.

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

masukkan deskripsi gambar di sini

Stephen Turner
sumber
7

Lihatlah scagnosticspaket dan makalah penelitian asli . Ini sangat menarik untuk hubungan bivariat. Untuk hubungan multivariat, pengejaran proyeksi adalah langkah pertama yang sangat baik.

Namun, secara umum, keahlian domain dan data akan mempersempit dan meningkatkan metode Anda untuk menyelidiki hubungan dengan cepat.

Iterator
sumber
7

Fungsi chart.Correlation di PerformanceAnalytics menyediakan fungsionalitas yang mirip dengan fungsi plot.pairs @Stephen Turner yang disebutkan, kecuali fungsi smooth dengan fungsi loess daripada model linear, dan signifikansi untuk korelasi.

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

Grafik

Zach
sumber
5

Jika Anda mencari kemungkinan transformasi untuk bekerja dengan korelasi, maka alat yang belum disebutkan yang mungkin berguna adalah aceyang dapat ditemukan dalam acepackpaket (dan mungkin paket lain juga). Ini melakukan proses interatif mencoba banyak transformasi yang berbeda (menggunakan smoothers) untuk menemukan transformasi untuk memaksimalkan korelasi antara satu set variabel x dan variabel ay. Merencanakan transformasi kemudian dapat menyarankan transformasi yang berarti.

Greg Snow
sumber
2

Anda dapat menggunakan fungsi DCOR dalam paket 'energi' untuk menghitung ukuran ketergantungan non-linear yang disebut korelasi jarak dan plot seperti di atas. Masalah dengan korelasi Pearson adalah bahwa ia hanya dapat mendeteksi hubungan linier antar variabel. Pastikan Anda memilih parameter tulis untuk indeks dalam fungsi DCOR yang mengatakan.

mobil jenazah
sumber