通过 R 中的选定组随机化样本
Randomizing a sample by selected groups in R
在我的数据集中,90 人(样本)必须每人玩两种类型的游戏,总共四种类型:X
、Y
、Z
和 W
.我想在 R 中随机化每个人将玩的游戏以及游戏顺序,以便遵循以下方式:
UA
First game
Second game
Person 1
Game X
Game W
Person 2
Game W
Game Y
Person 3
Game Z
Game W
因此,每个游戏必须由相同数量的人玩(即,每场30人),并且游戏W
必须由所有人玩。有没有在 R 中执行此操作的简单方法?
- 创建包含游戏 X、Y、Z 的 30 次重复的向量
- 创建该向量的随机排列
- 每场比赛加场W
- 排列每个游戏对
games <- t(
apply(
data.frame(
first_game = sample(rep(c("X", "Y", "Z"), 30), 90),
second_game = "W"
),
1,
function(x) sample(x, 2)
)
)
games <- cbind(paste("pearson", 1:90), games)
colnames(games) <- c("UA" ,"first_game", "second_game")
games <- as.data.frame(games)
在我的数据集中,90 人(样本)必须每人玩两种类型的游戏,总共四种类型:X
、Y
、Z
和 W
.我想在 R 中随机化每个人将玩的游戏以及游戏顺序,以便遵循以下方式:
UA | First game | Second game |
---|---|---|
Person 1 | Game X | Game W |
Person 2 | Game W | Game Y |
Person 3 | Game Z | Game W |
因此,每个游戏必须由相同数量的人玩(即,每场30人),并且游戏W
必须由所有人玩。有没有在 R 中执行此操作的简单方法?
- 创建包含游戏 X、Y、Z 的 30 次重复的向量
- 创建该向量的随机排列
- 每场比赛加场W
- 排列每个游戏对
games <- t(
apply(
data.frame(
first_game = sample(rep(c("X", "Y", "Z"), 30), 90),
second_game = "W"
),
1,
function(x) sample(x, 2)
)
)
games <- cbind(paste("pearson", 1:90), games)
colnames(games) <- c("UA" ,"first_game", "second_game")
games <- as.data.frame(games)