R - 创建一个基于日期索引的路径数据结构,结转 'Destination' 变为 'Origin'

R - Create a path data structure with indexing based on dates, with carryover 'Destination' becoming 'Origin'

我有一个数据结构问题。遇到困难如何开始。我不确定我的关键字在标题中是否有意义。

我试过以下方法: Creating a Origin-Destination Table in R 是迄今为止最大的帮助。 --没有达到我认为需要的索引级别。

-- 简单的一步起点终点。

--------------------

我的问题:如何创建一个起点--终点数据集并让 'Origin' 和 'Destination' 按日期排序。

这是我的数据集:

Student     Classes       time
John        HomeRoom      8:00
John        Math          9:00
John        English       10:00
John        Physics       11:00
John        Art           1:00
John        Lunch         12:00
Sarah       HomeRoom      8:00
Sarah       English       9:00
Sarah       Art           10:00
Sarah       Physics       12:00
Sarah       Lunch         11:00

这就是我希望我的数据集的样子:

Student  OriginClass time   DestinationClass  timeDest  ClassFlow
John     HomeRoom    8:00   Math              9:00      1
John     Math        9:00   English           10:00     2
John     English     10:00  Physics           11:00     3
John     Physics     11:00  Lunch             12:00     4
John     Lunch       12:00  Art               1:00      5
John     Art         1:00   Home              2:00      6
Sarah    HomeRoom    8:00   English           9:00      1
Sarah    English     9:00   Art               10:00     2
Sarah    Art         10:00  Lunch             11:00     3
Sarah    Lunch       11:00  Physics           12:00     4
Sarah    Physics     12:00  Home              1:00      5

有两个技巧:

  1. 环绕 'destination' 成为 'origin'。
  2. 添加最后一个 'destination' 作为主页。

我想接下来的步骤如下:

所有这一切背后的重点是能够显示流程图。

约翰:家庭房间 -> 数学 -> 英语 -> 物理 -> 午餐 -> 美术 -> 家

莎拉:家庭房间 -> 英语 -> 艺术 -> 午餐 -> 物理 -> 家庭

我们可以使用tidyverse

library(dplyr)
df1 %>%
   group_by(Student) %>% 
   mutate(DestinationClass = lead(Classes, default = "Home"),
          timeDest = lead(time), 
          ClassFlow = row_number())