Dalam R, saya memiliki kerangka data yang terdiri dari label kelas C (faktor) dan dua pengukuran, M1 dan M2 . Bagaimana cara menghitung korelasi antara M1 dan M2 dalam setiap kelas?
Idealnya, saya akan mendapatkan kembali kerangka data dengan satu baris untuk setiap kelas dan dua kolom: label kelas C dan korelasinya.
r
correlation
NPE
sumber
sumber
plyr
Paket yang bagus , bukan? :)Jika Anda cenderung menggunakan fungsi-fungsi dalam paket dasar, Anda dapat menggunakan
by
fungsi tersebut, lalu menyusun kembali data:sumber
by
, tetapi tidak tahu cara mengubah hasilnya menjadi bingkai data.Contoh lain menggunakan paket dasar dan data contoh Tal:
sumber
plyr
dilakukan tetapi memberi Anda kontrol yang lebih baik, meskipun hampir tidak bersih. Pendapat saya akan berubah jika satu solusi memiliki profil waktu / memori yang lebih baik. Saya belum membandingkannya.Menggunakan data.table lebih pendek dari dplyr
sumber
Berikut adalah metode serupa yang akan memberi Anda tabel dengan nilai n dan p untuk setiap korelasi juga (dibulatkan menjadi 3 tempat desimal untuk kenyamanan):
sumber
Berikut solusi yang lebih modern, menggunakan
dplyr
paket (yang belum ada saat pertanyaan diajukan):Bangun input:
Hitung korelasinya:
Hasil:
sumber