Cara memilih sampel acak di r: dengan contoh
Untuk memilih sampel acak di R, kita dapat menggunakan fungsi sample() , yang menggunakan sintaks berikut:
sampel(x, ukuran, ganti=FALSE, masalah=NULL)
Emas:
- x: vektor elemen yang dapat dipilih.
- ukuran: ukuran sampel.
- replace: apakah akan mengambil sampel dengan penggantian atau tidak. Nilai defaultnya adalah salah.
- prob: vektor bobot probabilitas untuk memperoleh elemen dari vektor. Standarnya adalah NULL.
Tutorial ini menjelaskan cara menggunakan fungsi ini untuk memilih sampel acak di R dari vektor dan bingkai data.
Contoh 1: Sampel acak dari suatu vektor
Kode berikut menunjukkan cara memilih sampel acak dari suatu vektor tanpa pengembalian :
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements without replacement sample(x=data, size=5) [1] 10 12 5 14 7
Kode berikut menunjukkan cara memilih sampel acak dari vektor dengan penggantian :
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements with replacement sample(x=data, size=5, replace= TRUE ) [1] 12 1 1 6 14
Contoh 2: Sampel acak dari suatu blok data
Kode berikut menunjukkan cara memilih sampel acak dari bingkai data:
#create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #view data frame df X Y Z 1 3 12 2 2 5 6 7 3 6 4 8 4 6 23 8 5 8 25 15 6 12 8 17 7 14 9 29 #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 4 6 23 8 7 14 9 29 1 3 12 2
Inilah yang terjadi pada potongan kode ini:
1. Untuk memilih subset bingkai data di R, kita menggunakan sintaks berikut: df[baris, kolom]
2. Pada kode di atas, kita secara acak memilih sampel 3 baris dari bingkai data dan semua kolom.
3. Hasil akhirnya adalah subset dari frame data dengan 3 baris yang dipilih secara acak.
Penting untuk dicatat bahwa setiap kali kita menggunakan fungsi sample() , R akan memilih sampel yang berbeda karena fungsi tersebut memilih nilai secara acak.
Untuk mereproduksi hasil analisis tertentu, pastikan untuk menggunakan set.seed(some number) sehingga fungsi sample() memilih sampel acak yang sama setiap saat. Misalnya:
#make this example reproducible set.seed(23) #create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 5 8 25 15 2 5 6 7 6 12 8 17
Setiap kali Anda menjalankan kode di atas, 3 baris bingkai data yang sama akan dipilih setiap kali.
Sumber daya tambahan
Pengambilan Sampel Berstrata di R (dengan Contoh)
Pengambilan Sampel Sistematis di R (dengan Contoh)
Pengambilan Sampel Cluster di R: Dengan Contoh