В Р: как смоделировать сезон команды НБА?
Я в основном хочу создать вектор, длина которого равна 82. Он должен содержать либо "W", либо "L", но их появления должны быть определены случайным образом. Я пробовал с этим season<-rep(c("W","L"), times = 1, length.out = 82, each = 1)
но я получаю только это: [1] "W" "L" "W" "L" "W" "L"
... Тривиальный вопрос, но я новичок в R. Спасибо!
2 ответа
Ты можешь сделать:
set.seed(1)
sample(c("W", "L"), 82, replace = TRUE)
# [1] "W" "W" "L" "L" "W" "L" ...
С set.seed
Вы устанавливаете начальное число генератора случайных чисел и, следовательно, получаете те же результаты, когда запускаете эти 2 строки. Если вы запускаете второй раз sample
вы получите другой результат.
Другой подход заключается в управлении нижней функцией, которая генерирует данные (например, из-за гипотезы о данных). Вот пример, предположим, что вы должны генерировать случайные последовательности W
а также L
затопленный биномом (который является единственным, который имеет смысл для такого рода симуляции, как указано @Gregor).
просто используйте или rbinom
для биномиального, а затем преобразовать выходной коэффициент как labels
в W
а также L
,
Вот пример с rbinom
функция, которая генерирует последовательность из 0 и 1, как бросок монеты (оба с вероятностью 50%), а затем вы добавляете нужные метки (в данном случае W
а также L
).
set.seed(123)
x <- rbinom(82, 1, 0.5)
x <- factor(x, labels = c("W", "L"))
x
[1] W L W L L W L L L W L W L L W L W W W L L L L L L L L L W W L L L L
[35] W W L W W W W W W W W W W W W L W W L W L W W L L W L W W W L W L L
[69] L W L L L W W W W L W W W L
Levels: W L