想想我有一个简单的问题,但到目前为止我无法找到我的错误。 我想创建一个有32名参与者的单一淘汰赛。要做到这一点,我创建4组8名球员,现在是想建立一个在对决for循环,并将它们存储到一个列表,但它不工作,我想:(如何在列表中存储循环遍历列表R
>groups
A B C D
1 Player1 Player9 Player17 Player25
2 Player2 Player10 Player18 Player26
3 Player3 Player11 Player19 Player27
4 Player4 Player12 Player20 Player28
5 Player5 Player13 Player21 Player29
6 Player6 Player14 Player22 Player30
7 Player7 Player15 Player23 Player31
8 Player8 Player16 Player24 Player32
现在我想存储他们在他们的小组对有一个容易获得计算后再夺道具 应该是这样的第一组
>teams.group.A <- matrix(groups$A,nrow = 2,ncol = 4)
>teams.group.A
[,1] [,2] [,3] [,4]
[1,] "Player1" "Player3" "Player5" "Player7"
[2,] "Player2" "Player4" "Player6" "Player8"
我对环路的想法是:
groupnames <- colnames(groups)
mylist <- list()
for(i in groupnames){
mylist[[i]] <- matrix(groups$i,nrow = 2,ncol = 4)
}
mylist
我得到错误,“数据”必须是矢量类型?
Thx,如果你能帮助我这里!
你需要'list'作为输出吗?或'data.frame'好吗? – CPak
只是为了解释错误:如果您使用$ i,R将不会评估i。这意味着它会直接在数据框中查找一个名为i的变量,该变量不存在。如果你使用组[,我]它的工作原理,因为在这种情况下,我被它的当前值取代。在任何情况下,解决方案@Val发布是一种方式,因为循环在R中不如在其他语言中更可取。 – friep