【发布时间】:2021-05-08 19:45:08
【问题描述】:
我的 R 技能不足以解决这个问题,所以我希望有人能提供帮助。
我的数据如下所示:
head(human.players,25)
| Season | Episode | Round | Player | Player_type | Crowd_size | q1_a | q2_a | q3_a | q4_a | q5_a |
|---|---|---|---|---|---|---|---|---|---|---|
| 2020 | 1 | 1 | 1 | 1 | 3 | 0 | 1 | 0 | 0 | NA |
| 2020 | 1 | 1 | 2 | 1 | 3 | 0 | 1 | 1 | 1 | NA |
| 2020 | 1 | 1 | 3 | 1 | 3 | 0 | 0 | 0 | 1 | NA |
| 2020 | 1 | 2 | 1 | 1 | 3 | 1 | 1 | 0 | 1 | NA |
| 2020 | 1 | 2 | 2 | 1 | 3 | 1 | 0 | 1 | 0 | NA |
| 2020 | 1 | 2 | 3 | 1 | 3 | 1 | 1 | 1 | 0 | NA |
| 2020 | 1 | 3 | 1 | 1 | 3 | 0 | 1 | 0 | 0 | NA |
| 2020 | 1 | 3 | 2 | 1 | 3 | 0 | 1 | 1 | 1 | NA |
| 2020 | 1 | 3 | 3 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 1 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 2 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 3 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 5 | 1 | 1 | 2 | 1 | 1 | 0 | 0 | NA |
| 2020 | 1 | 5 | 2 | 1 | 2 | 1 | 1 | 1 | 0 | NA |
| 2020 | 1 | 5 | 3 | 1 | 2 | NA | NA | NA | NA | NA |
| 2020 | 1 | 6 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | NA |
| 2020 | 1 | 6 | 2 | 1 | 2 | 0 | 0 | 0 | 0 | NA |
| 2020 | 1 | 6 | 3 | 1 | 2 | NA | NA | NA | NA | NA |
| 2020 | 1 | 7 | 1 | 1 | 2 | 0 | 1 | 1 | 1 | NA |
| 2020 | 1 | 7 | 2 | 1 | 2 | 1 | 0 | 0 | 1 | NA |
| 2020 | 1 | 7 | 3 | 1 | 2 | NA | NA | NA | NA | NA |
| 2020 | 2 | 1 | 1 | 1 | 3 | 1 | 1 | 0 | 0 | NA |
| 2020 | 2 | 1 | 2 | 1 | 3 | 0 | 0 | 0 | 1 | NA |
| 2020 | 2 | 1 | 3 | 1 | 3 | 0 | 1 | 1 | 0 | NA |
来自 q1_a:q5_a 的变量表示玩家的问题是错误 (0) 还是正确 (1)。每个玩家都在特定的回合中比赛(每集有 7 回合)。前4轮有3名选手。但是,在第 5-7 轮中,只有 2 名球员(被淘汰的一名球员有 NA - 例如,在第 1 集中,这是球员 3 - 见上表)。
我需要创建一个随机播放器。这意味着在前 4 轮中,我需要从该轮中的三个玩家中随机选择一个答案(针对 5 个问题中的每一个)并添加“随机玩家”行值。对于第 5 到第 7 轮,我需要从两个玩家中选择一个答案(忽略 NA)并添加“随机玩家”行值。
某种算法必须查看第 1 轮(仅那些行),从三行中采样一个值,将其粘贴到第 1 轮(即,在本例中创建第 4 行)并为每个5个问题。然后是第 2 轮...
这就是我添加播放器 4 的位置 - 随机播放器的样子:
| Season | Episode | Round | Player | Player_type | Crowd_size | q1_a | q2_a | q3_a | q4_a | q5_a |
|---|---|---|---|---|---|---|---|---|---|---|
| 2020 | 1 | 1 | 1 | 1 | 3 | 0 | 1 | 0 | 0 | NA |
| 2020 | 1 | 1 | 2 | 1 | 3 | 0 | 1 | 1 | 1 | NA |
| 2020 | 1 | 1 | 3 | 1 | 3 | 0 | 0 | 0 | 1 | NA |
| 2020 | 1 | 1 | 4 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 2 | 1 | 1 | 3 | 1 | 1 | 0 | 1 | NA |
| 2020 | 1 | 2 | 2 | 1 | 3 | 1 | 0 | 1 | 0 | NA |
| 2020 | 1 | 2 | 3 | 1 | 3 | 1 | 1 | 1 | 0 | NA |
| 2020 | 1 | 2 | 4 | 1 | 3 | 1 | 1 | 1 | 0 | NA |
| 2020 | 1 | 3 | 1 | 1 | 3 | 0 | 1 | 0 | 0 | NA |
| 2020 | 1 | 3 | 2 | 1 | 3 | 0 | 1 | 1 | 1 | NA |
| 2020 | 1 | 3 | 3 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 3 | 4 | 1 | 3 | 0 | 0 | 0 | 1 | NA |
| 2020 | 1 | 4 | 1 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 2 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 3 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
| 2020 | 1 | 4 | 4 | 1 | 3 | 0 | 0 | 1 | 1 | NA |
写这篇文章,我认为这可能是不可能的,或者至少非常困难,所以这个问题更像是“万岁玛丽”。我认为 sample()、apply() 和创建自定义函数的某种组合是必要的,但我很难过。
【问题讨论】:
标签: r dataframe matrix dplyr apply