我已经浏览了大约7个不同的答案,加上搜索过的帮助文件,没有运气(在一个漫长的时间里没有使用过R,所以,我很生气)。
我有一个向量代表 n 玩家的 s 不同的生存策略,我希望随机配对每个元素。最初我尝试了下面的代码,但显然无法工作,因为生成的对象有 n 元素,而我的结果对象应该有 n / 2 。 / p>
popsize = 10
nstrats = 3
Population <- sample(1:nstrats, popsize, T)
Opponents <- sample(Population)
Pairings <- cbind(Population, Opponents)
我试图在没有循环的情况下这样做,但我很乐意接受任何建议(特别是如果使用循环是唯一的方法!)
非常感谢提前!
答案 0 :(得分:1)
这将为您提供人口中的配对列表(它只是将Population
拆分成对):
split(Population,rep(1:(popsize/2),each=2))
如果你想在创建配对之前随机配对Population
的元素,只需将其改组:
split(sample(Population),rep(1:(popsize/2),each=2))