考虑这个数据框:
data <- data.frame(ID = rep(1, 6),
Loc = c("A","B","D","A","D","B"),
TimeDiff = c(NA, 4.5,2.2,2.1,3.4,7.2))
我们在多个位置( )ID
的观察结果相同。Loc
观测值按它们发生的顺序排列,因此第一个观测值位于Loc == A
,第二个观测值位于Loc == B
,依此类推。TimeDiff
是每次连续观察之间的时间段。我制作了以下图表以显示Loc
随着时间的推移 s 之间的“路径”:
library(tidyverse)
data%>%
mutate(RowNumber = row_number(), xend = lead(Loc), yend = lead(RowNumber))%>%
ggplot()+
geom_segment(aes(x = Loc, y = RowNumber, xend = xend, yend = yend), arrow = arrow(), size = 2)
我的主要问题:我们如何根据变量对每个箭头的大小进行加权TimeDiff
,以及如何用相应的值标记每个箭头TimeDiff
?表示连接前 2 个观测值的箭头在哪里Loc == A
和Loc == B
将比后面的箭头更粗,因为TimeDiff
两个观测值之间有一个更大的 (4.2)。
一个附带问题:请注意Loc
include A
、B
和的 3 个级别D
。假设C
我想在B
和之间的情节中包含另一个级别D
。这怎么能扔进去?