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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *