捕获R矩阵列表
下面这段代码正在生成我需要的内容,但我无法存储它以便进一步使用它捕获R矩阵列表,r,list,matrix,variable-assignment,R,List,Matrix,Variable Assignment,下面这段代码正在生成我需要的内容,但我无法存储它以便进一步使用它 在下面的例子中,我想将每个玩家的手牌存储在矩阵p的列表中,这样p[I]我相信这应该是你想要的。它将返回一个包含两项的列表 这两项中的第一项是手牌列表p,最后一项是经销商的手牌 它退回的两件物品中的第二件将是新的deck2 player_hands=function(players) { if(players >= 2 && players <= 10) { p = list()
在下面的例子中,我想将每个玩家的手牌存储在矩阵p的列表中,这样p[I]我相信这应该是你想要的。它将返回一个包含两项的列表 这两项中的第一项是手牌列表p,最后一项是经销商的手牌 它退回的两件物品中的第二件将是新的deck2
player_hands=function(players)
{ if(players >= 2 && players <= 10) {
p = list()
for(i in 1:players)
{
smpl <- sample(1:NROW(deck2),2,replace=F)
r <- deck2[smpl,]
p[[i]] = r
deck2 <- deck2[-smpl,]
if(i==players)
{ smpl <- sample(1:NROW(deck2),3,replace=F)
r <- deck2[smpl,]
p[[players+1]] <- r
deck2 <- deck2[-smpl,]
}
else i=i+1
}
return(list(p, deck2))
}
else print("Invalid No. of Players")
}
D很抱歉混淆。您可以忽略这一点。这只是为最终deck2提供的先前名称。因为deck2列表在每次迭代递减后都不会更新。这是完美的。但是现在修改和添加额外的行,即更改p[i]列表元素的dims似乎很复杂。而不是考虑添加新的自定义矩阵p[players+2]做手术很简单。哪一个更好?我不确定我是否理解你的意思?谢谢Philip。现在解决了。我尝试了这个->
player_hands=function(players)
{ if(players >= 2 && players <= 10) {
p = list()
for(i in 1:players)
{
smpl <- sample(1:NROW(deck2),2,replace=F)
r <- deck2[smpl,]
p[[i]] = r
deck2 <- deck2[-smpl,]
if(i==players)
{ smpl <- sample(1:NROW(deck2),3,replace=F)
r <- deck2[smpl,]
p[[players+1]] <- r
deck2 <- deck2[-smpl,]
}
else i=i+1
}
return(list(p, deck2))
}
else print("Invalid No. of Players")
}