【发布时间】:2020-04-01 12:30:03
【问题描述】:
我有两个小标题:一个有一个类别的间隔,另一个有每个类别的出现次数
int_df <- tibble(name = c(rep("John", 5), rep("Adam", 5)),
category = c(LETTERS[1:10]),
start = c(1, 14, 23, 35, 44, 52, 67, 75, 88, 91),
end = c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
)
occ_df <- tibble(name = c(rep("John", 10), rep("Adam", 10)),
occurrence = c(1, 4, 8, 10, 12, 15, 27, 29, 34, 47,
52, 57, 64, 75, 78, 81, 82, 84, 86, 95)
)
我想在int_df 中找到来自occ_df 的出现的区间,并返回相应类别的名称。如果事件不在某个区间内,我希望输出为“外部”。
这是预期的结果
# A tibble: 20 x 3
name occurrence category
<chr> <dbl> <chr>
1 John 1 A
2 John 4 A
3 John 8 A
4 John 10 A
5 John 12 outside
6 John 15 B
7 John 27 C
8 John 29 C
9 John 34 outside
10 John 47 E
11 Adam 52 F
12 Adam 57 F
13 Adam 64 outside
14 Adam 75 H
15 Adam 78 H
16 Adam 81 outside
17 Adam 82 outside
18 Adam 84 outside
19 Adam 86 outside
20 Adam 95 J
我更喜欢 tidyverse/dplyr/data.table 中的解决方案
【问题讨论】:
标签: r dplyr data.table tidyverse