【发布时间】:2015-08-28 12:52:08
【问题描述】:
我有以下数据集,并希望在单独的列中获取重叠标签的数量 (n.overlaps)、重叠标签的名称 (overlap.labels) 以及重叠的持续时间 (overlap.duration )。
这是我的数据集:
label begin end
======================
lower 9.03 12.41
lower 28.773 29.975
lower 33.895 35.992
lower 46.814 48.854
lower 58.51 61.51
lower 62.971 63.491
upper 28.132 30.432
upper 46.716 50.82
upper 58.536 61.482
upper 29.975 33.895
upper 53.376 54.08
upper 10.358 11.958
upper 30.532 46.716
upper 51.633 58.536
head 9.918 14.818
head 29.823 30.623
head 58.802 61.404
head 61.404 63.562
我想要的表是这个:
lower.begin lower.end upper.begin upper.end head.begin head.end n.overlaps overlap.labels overlap.duration
9.03 12.41 10.358 11.958 9.918 14.418 3 lower|upper|head 1.6
28.773 29.975 28.132 30.432 29.823 30.623 3 lower|upper|head 0.152
33.895 35.992 30.532 46.716 - - 2 lower|upper 2.097
...
这是表格的可视化表示:
数据
structure(list(label = c("lower", "lower", "lower", "lower",
"lower", "lower", "upper", "upper", "upper", "upper", "upper",
"upper", "upper", "upper", "head", "head", "head", "head"
), begin = c(9.03, 28.773, 33.895, 46.814, 58.51, 62.971, 28.132,
46.716, 58.536, 29.975, 53.376, 10.358, 30.532, 51.633, 9.918,
29.823, 58.802, 61.404), end = c(12.41, 29.975, 35.992, 48.854,
61.51, 63.491, 30.432, 50.82, 61.482, 33.895, 54.08, 11.958,
46.716, 58.536, 14.818, 30.623, 61.404, 63.562)), .Names = c("label",
"begin", "end"), class = "data.frame", row.names = c(NA, -18L))
【问题讨论】: