我基本上想创建一个长度为 82 的向量。这应该包含“W”或“L”,但它们的出现应该是随机确定的。我试过这个season<-rep(c("W","L"), times = 1, length.out = 82, each = 1)
,但我只得到这个:[1] "W" "L" "W" "L" "W" "L"
......琐碎的问题,但我是R的新手。谢谢!
2 回答
4
你可以做:
set.seed(1)
sample(c("W", "L"), 82, replace = TRUE)
# [1] "W" "W" "L" "L" "W" "L" ...
随着set.seed
您设置随机生成器的种子并因此获得相同的结果,无论何时运行这 2 行。如果你第二次运行,sample
你会得到不同的结果。
于 2015-08-07T11:05:12.143 回答
2
另一种方法是控制生成数据的底层函数(例如,由于对数据做出的假设)。这是一个示例,假设您必须生成一个随机序列W
并被二项式L
淹没(正如@Gregor 指出的那样,这是唯一对这种模拟有意义的序列)。
只需将 orrbinom
用于二项式,然后使用labels
toW
和将输出转换为因子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
于 2015-08-07T17:07:36.863 回答