如何在向量中随机配对元素? [R]

时间:2014-04-03 21:28:42

标签: r simulation sampling population

我已经浏览了大约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)

我试图在没有循环的情况下这样做,但我很乐意接受任何建议(特别是如果使用循环是唯一的方法!)

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

这将为您提供人口中的配对列表(它只是将Population拆分成对):

split(Population,rep(1:(popsize/2),each=2))

如果你想在创建配对之前随机配对Population的元素,只需将其改组:

split(sample(Population),rep(1:(popsize/2),each=2))