r 使用 'stop' 值将字符串列转置为行以创建不规则长度的行

r transpose column of strings to rows using a 'stop' value to create rows of irregular length

我有一个数据集,我想根据一些标记值为其创建组。 例如,数据集如下所示input

这些值按时间顺序排列,每个值直到值 'end' 为一天。我正在尝试重新组织数据,以便第一列的值如下所示: output

起初,我认为这将是一个简单的转置问题,但我看不到任何参数或参数来指定组由值 'end'

分隔

当我打字时,我突然想到也许 for 循环可以 运行 通过值并重新组织它们,使用 'end' 值作为 DNA 转录中的终止密码子,但我'在我开始这条路之前,我想确保这不是一种更简单的方法。

这个怎么样?

df <- data.frame(name = c("aa", 
                          "bb", 
                          "cc", 
                          "dd", 
                          "end", 
                          "ee", 
                          "ff", 
                          "gg", 
                          "end"))

unlist(strsplit(paste(df$name, collapse = " "), " end "))