我有这个数据集
structure(list(N = c("a", "b", "c", "a", "b", "a", "b", "c",
"a", "c"), S = c("4", "4", "4", "3", "3", "2", "2", "2", "1",
"1")), class = "data.frame", row.names = c(NA, -10L))
我想通过逻辑运算来验证是否所有的N组都有一个先前的观测值S
library(tidyverse)
df %>% group_by(N) %>% arrange(desc(S)) %>% mutate(L = ifelse(****))
输出应如下所示
| 数量|S型|P级|
| - ------|- ------|- ------|
| 项目a|四个|正确|
| B|四个|正确|
| (c)秘书长的报告|四个|错误|
| 项目a|三个|正确|
| B|三个|正确|
| 项目a|第二章|正确|
| B|第二章|错误|
| (c)秘书长的报告|第二章|正确|
| 项目a|1个|错误|
| (c)秘书长的报告|1个|错误|
2条答案
按热度按时间vfhzx4xs1#
我们可以使用
lead
来获得与相邻元素的差,将差转换为逻辑向量(==
),按N分组oiopk7p52#
这个怎么样?它在组内按
S
排序,然后将第一个(S
的最小值)标识为FALSE
,如果其他值等于S
加1的滞后,则将其标识为TRUE
。创建于2023年3月9日,使用reprex v2.0.2