Як вибрати випадкові зразки в r: із прикладами


Щоб вибрати випадкову вибірку в R, ми можемо використати функцію sample() , яка використовує такий синтаксис:

sample(x, size, replace=FALSE, prob=NULL)

золото:

  • x: вектор елементів на вибір.
  • розмір: розмір вибірки.
  • заміна: вибірка із заміною чи ні. Значення за замовчуванням – false.
  • prob: вектор ваг ймовірностей для отримання елементів із вектора. Типовим значенням є NULL.

У цьому посібнику пояснюється, як використовувати цю функцію для вибору випадкової вибірки в R як з вектора, так і з кадру даних.

Приклад 1: Випадкова вибірка з вектора

Наступний код показує, як вибрати випадкову вибірку з вектора без заміни :

 #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

Наступний код показує, як вибрати випадкову вибірку з вектора із заміною :

 #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

Приклад 2: Випадкова вибірка з блоку даних

Наступний код показує, як вибрати випадкову вибірку з кадру даних:

 #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

Ось що відбувається в цьому фрагменті коду:

1. Щоб вибрати підмножину кадру даних у R, ми використовуємо такий синтаксис: df[рядки, стовпці]

2. У наведеному вище коді ми випадковим чином вибираємо вибірку з 3 рядків із фрейму даних і всіх стовпців.

3. Кінцевим результатом є підмножина кадру даних із 3 випадково вибраними рядками.

Важливо зауважити, що кожного разу, коли ми використовуємо функцію sample() , R вибиратиме інший зразок, оскільки функція вибирає значення випадковим чином.

Щоб відтворити результати певних аналізів, обов’язково використовуйте set.seed(деяке число) , щоб функція sample() щоразу вибирала ту саму випадкову вибірку. Наприклад:

 #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

Кожного разу, коли ви запускаєте наведений вище код, кожного разу вибиратимуться ті самі 3 рядки кадру даних.

Додаткові ресурси

Стратифікована вибірка в R (з прикладами)
Систематична вибірка в R (з прикладами)
Кластерна вибірка в R: із прикладами

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *