Функция sample() в R - случайная выборка
Функция sample() в R используется для случайного извлечения элементов из вектора.
sample() может моделировать выборку с возвращением, выборку без возвращения и случайное перемешивание, и широко используется при выборочном исследовании данных и планировании экспериментов.
Синтаксис функции sample() выглядит следующим образом:
sample(x, size, replace = FALSE, prob = NULL)
Описание параметра:
xВектор, из которого производится выборка.
sizeКоличество извлекаемых элементов.
replaceВыполнять ли выборку с возвращением; по умолчанию FALSE (без возвращения).
probНеобязательно, вероятностный вес выборки каждого элемента.
Пример
# Случайно извлечь 10 из диапазона от 1 до 100 (без возвращения, часто используется для случайных розыгрышей лотерей)
set.seed(123)
winners <- sample(1:100, size = 10)
print("Выигрышные номера:")
print(winners)
# Выборка с возвращением (независимая каждый раз, возможны дубликаты)
set.seed(123)
dice_rolls <- sample(1:6, size = 10, replace = TRUE)
print("Бросьте кубик 10 раз:")
print(dice_rolls)
set.seed(123)
winners <- sample(1:100, size = 10)
print("Выигрышные номера:")
print(winners)
# Выборка с возвращением (независимая каждый раз, возможны дубликаты)
set.seed(123)
dice_rolls <- sample(1:6, size = 10, replace = TRUE)
print("Бросьте кубик 10 раз:")
print(dice_rolls)
Выполнение приведенного выше кода дает следующий вывод:
[1] "中奖号码:" [1] 31 79 51 14 67 42 50 43 97 25 [1] "掷 10 次骰子:" [1] 6 1 4 2 2 1 4 5 5 1
Неравные вероятности выборки можно задать с помощью параметра prob:
Пример
# Смоделировать несимметричную монету (вероятность орла 0.7, решки 0.3)
set.seed(123)
biased_coin <- sample(c("Орёл", "Решка"), size = 100,
replace = TRUE, prob = c(0.7, 0.3))
print("Доля результатов 100 бросков несимметричной монеты:")
print(prop.table(table(biased_coin)))
set.seed(123)
biased_coin <- sample(c("Орёл", "Решка"), size = 100,
replace = TRUE, prob = c(0.7, 0.3))
print("Доля результатов 100 бросков несимметричной монеты:")
print(prop.table(table(biased_coin)))
Выполнение приведенного выше кода дает следующий вывод:
[1] "100 次有偏硬币结果比例:" 反面 正面 0.27 0.73Другие расширения
Примеры на языке R