0

我基本上想创建一个长度为 82 的向量。这应该包含“W”或“L”,但它们的出现应该是随机确定的。我试过这个season<-rep(c("W","L"), times = 1, length.out = 82, each = 1),但我只得到这个:[1] "W" "L" "W" "L" "W" "L"......琐碎的问题,但我是R的新手。谢谢!

4

2 回答 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用于二项式,然后使用labelstoW和将输出转换为因子L

这是一个函数示例,该rbinom函数生成一个 0 和 1 的序列,就像掷硬币一样(都具有 50% 或概率),然后添加所需的标签(在本例中为WL)。

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 回答