首页 > 解决方案 > 尝试使用复制在 R 中生成列表

问题描述

我正在通过我目前正在学习的 EdX 课程在 DataCamp 中进行练习。

我坚持的具体问题要求我创建一个列表 (l),其中包含剩余游戏中所有可能的结果。

剩余比赛场数为:

n <- 6

我在这里有我的简单向量结果,其中 0 表示失败,1 表示胜利。

outcomes <- c(0,1)

现在,我正在努力解决的问题的具体部分是:“将变量 l 分配给所有剩余游戏中所有可能结果的列表。使用 rep 函数创建 n 个游戏的列表,其中每个游戏由列表组成(结果)”

这是我的代码:

l <- replicate(n, sample(outcomes, n, replace=TRUE))

现在,我认为我最大的问题是,当我应该生成可能的游戏总数时,我只生成了 n 数量的游戏。我不完全确定如何做到这一点,即使在查看了文档之后,我也被卡住了一段时间。

感谢您的任何帮助。另外,对于这类问题,这是适当的礼仪吗?

标签: rreplicate

解决方案


我们可以通过使用带有rep()和的结果列表来获得所有可能的结果expand.grid()

n = 6
outcomes = c(0,1)
l = rep(list(outcomes), n)
> expand.grid(l)
   Var1 Var2 Var3 Var4 Var5 Var6
1     0    0    0    0    0    0
2     1    0    0    0    0    0
...
63    0    1    1    1    1    1
64    1    1    1    1    1    1

推荐阅读