Fungsi Aku akrab dengan menyertakan skala dari basis R, rescale dari ARM.
Mungkin cara terbaik adalah menggunakan beberapa varian berlaku, menentukan satu atau lebih variabel untuk digunakan sebagai variabel pengelompokan.
r
standardization
centering
Michael Bishop
sumber
sumber
Jawaban:
Berikut adalah solusi plyr yang mungkin . Perhatikan bahwa ini bergantung pada
transform()
fungsi dasar .(Kita dapat memeriksa apakah itu berfungsi seperti yang diharapkan dengan misalnya,
with(subset(my.df, sex=="F" & group=="A"), scale(x))
)Pada dasarnya, argumen ke-2 menjelaskan bagaimana cara "membagi" data, argumen ke-3 apa fungsi yang berlaku untuk setiap chunk. Di atas akan menambahkan variabel
x.std
ke data.frame. Gunakanx
jika Anda ingin mengganti variabel asli Anda dengan yang diskalakan.sumber
sumber
Berikut ini adalah solusi data.table . Ini jelas lebih cepat dari plyr (hanya relevan untuk set data besar). Mungkin nanti saya akan membuat contoh dplyr.
(Ya, saya menemukan kembali pertanyaan yang saya tanyakan bertahun-tahun yang lalu ketika saya masih kecil;)
sumber
Anda dapat menggunakan (antara lain)
tapply
untuk ini (plyr
paket berisi banyak opsi lain yang mungkin lebih cocok untuk situasi spesifik Anda):sumber
Jawaban ini dari kertas putih oleh Mahmood Arai. Ini memiliki efek samping yang nyaman dengan memberi label hasil yang terpusat dengan awalan "C.":
sumber
Berikut ini adalah implementasi yang diperbarui menggunakan dplyr dari tidyverse .
sumber