In R:如何模拟NBA球队的赛季?
In R: how to simulate the season of an NBA team?
我基本上想创建一个长度为 82 的向量。这应该包含 "W" 或 "L",但它们的出现应该是随机确定的。我试过这个 season<-rep(c("W","L"), times = 1, length.out = 82, each = 1)
但我只得到这个: [1] "W" "L" "W" "L" "W" "L"
... 微不足道的问题,但我是 R 的新手。谢谢!
你可以这样做:
set.seed(1)
sample(c("W", "L"), 82, replace = TRUE)
# [1] "W" "W" "L" "L" "W" "L" ...
使用 set.seed
设置随机生成器的种子,因此无论何时 运行 这 2 行都会得到相同的结果。如果你 运行 第二次 sample
你会得到不同的结果。
另一种方法是控制生成数据的底层函数(例如,由于对数据所做的假设)。这是一个示例,假设您必须生成 W
和 L
的随机序列,并被 Binomial 淹没(这是唯一对@Gregor 指出的这种模拟)。
只需将 or 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
我基本上想创建一个长度为 82 的向量。这应该包含 "W" 或 "L",但它们的出现应该是随机确定的。我试过这个 season<-rep(c("W","L"), times = 1, length.out = 82, each = 1)
但我只得到这个: [1] "W" "L" "W" "L" "W" "L"
... 微不足道的问题,但我是 R 的新手。谢谢!
你可以这样做:
set.seed(1)
sample(c("W", "L"), 82, replace = TRUE)
# [1] "W" "W" "L" "L" "W" "L" ...
使用 set.seed
设置随机生成器的种子,因此无论何时 运行 这 2 行都会得到相同的结果。如果你 运行 第二次 sample
你会得到不同的结果。
另一种方法是控制生成数据的底层函数(例如,由于对数据所做的假设)。这是一个示例,假设您必须生成 W
和 L
的随机序列,并被 Binomial 淹没(这是唯一对@Gregor 指出的这种模拟)。
只需将 or 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