我是新手使用R语言,一直在使用dplyr包来进行数据汇总。但是对于以下问题我无法找到解决方案。
我的tibble表格是一个3列8行的矩阵:
df <- tibble(id = c(1, 1, 1, 1, 1, 2, 2, 2 ),
block = c(2, 2, 2, 3, 3, 2, 2, 3),
answer = "TRUE")
编号 | 区块 | 答案 |
---|---|---|
1 | 2 | 正确 |
1 | 2 | 正确 |
1 | 2 | 正确 |
1 | 3 | 正确 |
1 | 3 | 正确 |
2 | 2 | 正确 |
2 | 2 | 正确 |
2 | 3 | 正确 |
ID -> 参与者编号
block -> 最高正确区块
我希望仅保留每个参与者的最高区块分数,但最高区块分数的定义是至少有两个正确(TRUE)答案的最高分数。
在上面的示例中,参与者1的最高区块分数将为3,因为在区块3中至少有两个正确答案。参与者2的最高得分是2。请参见下面的示例。
最终输出应该像这样:
编号 | 区块 | 答案 |
---|---|---|
1 | 3 | 正确 |
2 | 2 | 正确 |
有没有任何想法可以指导我如何开始?或者有什么包可以解决这个问题吗?
我使用了slice_tail
参数来保留每个参与者的最后一行,但不确定下一步该怎么做。
as.logical
函数。 - MeiLing