【发布时间】:2020-08-24 04:23:31
【问题描述】:
我有一个数据框,其中包含带有两个分组变量(ID 和 Grouping)的区间数据(From 和 To)。我试图将数据汇总到具有相同 ID 和分组的组中,并且间隔相邻。
下面是一个示例数据框。我知道可以使用 dplyr 中的 group_by 函数对数据进行分组,并且可以使用 dplyr 中的 summarise 函数进行汇总(在此示例中使用每个组的总和进行汇总),但不确定如何确保 dplyr 仅加入间隔相邻的组.
ID <- c('ID1','ID1','ID1','ID1','ID1','ID1','ID2','ID2','ID2','ID2')
grouping <- c(1,1,1,1,1,1,1,1,1,1)
From <- c(1,5,6,20,40,41,45,52,60,61)
To <- c(5,6,10,25,41,45,52,53,61,62)
Value <- c(1,2,1,2,2,3,1,1,1,4)
df <- data.frame(ID, grouping, From, To, Value)
ID grouping From To Value
1 ID1 1 1 5 1
2 ID1 1 5 6 2
3 ID1 1 6 10 1
4 ID1 1 20 25 2
5 ID1 1 40 41 2
6 ID1 1 41 45 3
7 ID2 1 45 52 1
8 ID2 1 52 53 1
9 ID2 1 60 61 1
10 ID2 1 61 62 4
下面是想要的结果
ID grouping From To Value
1 ID1 1 1 10 4
2 ID1 1 20 25 2
3 ID1 1 40 45 5
4 ID2 1 45 53 2
5 ID2 1 60 62 5
【问题讨论】: