如何使用dplyr统计data.frame中V_ID与N_ID组合的出现次数?
使用dplyr实现按V_ID与N_ID组合汇总行数
完全可以用dplyr实现这个需求,核心思路是按V_ID、N_ID(以及对应的Length,示例中每组的Length值唯一)分组后统计每组的行数。
实现代码
# 加载dplyr包 library(dplyr) # 按组合分组并汇总 df2 <- df1 %>% group_by(V_ID, N_ID, Length) %>% summarize(Num_Times = n(), .groups = "drop")
代码说明
group_by(V_ID, N_ID, Length):指定按这三列的组合分组,由于示例中每个V_ID+N_ID组合对应的Length值固定,加入Length可直接保留该列对应值。summarize(Num_Times = n()):用n()统计每组总行数,将结果列命名为Num_Times。.groups = "drop":取消分组结构,让输出结果成为普通data.frame,避免后续操作受分组状态影响。
运行上述代码后,得到的df2与你给出的期望结果完全一致。
内容的提问来源于stack exchange,提问作者E Norton
相关产品推荐
相关产品推荐

