【发布时间】:2020-03-18 13:24:48
【问题描述】:
示例数据
我有以下数据:
df <- data.frame(
id = c('X1','X1','X1','X1','X2','X2','X2','X2'),
pos = c(1,2,3,4,1,2,3,4),
group = c(100,200,100,300,100,200,100,200)
)
因此看起来像:
id pos group
1 X1 1 100
2 X1 2 200
3 X1 3 100
4 X1 4 300
5 X2 1 100
6 X2 2 200
7 X2 3 100
8 X2 4 200
我想达到的目标
我想使用geom_segment() 绘制这些数据,其中pos 将在x 轴上,group 在y 轴上。然后对于这些段中的每一个,我想计算它们在数据集中出现的频率(基于id 列)。对示例数据集执行此操作时,结果将是:
pos1 pos2 group1 group2 id.count
1 2 100 200 2
2 3 200 100 2
3 4 100 300 1
3 4 100 200 1
我不知道如何开始,虽然我熟悉 dplyr 的 group_by,但我不知道如何构建最初的四列。
【问题讨论】: