Як вибрати випадкові зразки в 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: із прикладами