В Р: как смоделировать сезон команды НБА?

Я в основном хочу создать вектор, длина которого равна 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
Другие вопросы по тегам