【发布时间】:2020-08-05 17:29:17
【问题描述】:
不知道如何命名这个问题,所以如果有更好的建议,请编辑
假设我们有这个数据框:
数据集
df <- data.frame(start = c(10, 20), end = c(15,33), label = c('ex1','ex2'))
看起来像这样:
start end label
1 10 15 ex1
2 20 33 ex2
我想得到什么
我想从start扩展-->end,像这样:
pos label
1 10 ex1
2 11 ex1
3 12 ex1
4 13 ex1
5 14 ex1
6 15 ex1
7 20 ex2
8 21 ex2
9 22 ex2
10 23 ex2
11 24 ex2
12 25 ex2
13 26 ex2
14 27 ex2
15 28 ex2
16 29 ex2
17 30 ex2
18 31 ex2
19 32 ex2
20 33 ex2
我现在拥有的东西
f <- function(x) {data.frame(pos = x$start:x$end, label = x$label)}
df %>% rowwise() %>% do(f(.))
虽然我的解决方案有效,但我的原始数据集要大得多,并且怀疑这是否有效。此外,我想包含比label 更多的列,所以我想重新训练所有列,然后将start 和end 展开。
【问题讨论】: