Saya memiliki kerangka data yang berisi nilai di 4 kolom:
Sebagai contoh: ID
, price
, click count
,rating
Yang ingin saya lakukan adalah "memecah" kerangka data ini menjadi N grup yang berbeda di mana setiap grup akan memiliki jumlah baris yang sama dengan distribusi harga, jumlah klik dan atribut penilaian yang sama.
Setiap saran sangat dihargai, karena saya tidak punya ide sedikit pun tentang cara mengatasi ini!
r
distributions
Rajpal Kulhari
sumber
sumber
Jawaban:
Jika saya memahami pertanyaan dengan benar, ini akan memberi Anda apa yang Anda inginkan. Dengan asumsi frame data Anda dipanggil
df
dan telah AndaN
tentukan, Anda dapat melakukan ini:Ini akan mengembalikan daftar frame data di mana setiap frame data terdiri dari baris yang dipilih secara acak
df
. Secara defaultsample()
akan menetapkan probabilitas yang sama untuk setiap grup.sumber
Ini adalah jawaban yang sangat terlambat, tetapi saya menemukan halaman ini ketika mencari di Google apakah masalah seperti yang disebutkan pernah dibahas di mana saja. Mungkin jawaban saya akan membantu jika seseorang menemukan halaman ini mulai sekarang.
Saya menulis paket R, yang melakukan persis seperti yang ditanyakan oleh pertanyaan: dibutuhkan a
data.frame
dan membuat N kelompok yang berbeda ketika mencoba untuk meminimalkan perbedaan antara kelompok dalam satu atau beberapa kriteria. Ini menggunakan metode sederhana berdasarkan penugasan acak berulang , yang juga merupakan metode yang disarankan dalam respons yang disetujui.Ini adalah tautan ke paket minDiff :
Untuk mengatasi masalah yang disebutkan, Anda dapat menggunakan:
The
repetitions
Argumen akan menentukan seberapa sering Anda secara acak membuat grup yang berbeda. Tugas terbaik - tugas yang memiliki perbedaan minimal antar grup - akan dikembalikan.sumber
Meskipun jawaban Alex A memberikan probabilitas yang sama untuk masing-masing kelompok, itu tidak memenuhi permintaan pertanyaan agar kelompok memiliki jumlah baris yang sama. Dalam R:
sumber
Ini dapat diatasi dengan bersarang menggunakan tidyr / dplyr
sumber