基于相同的连续元素将数据帧拆分为列表

Sof*_*rki 1 r dataframe dplyr tidyr wrangle

是否有一种有效的方法将基于列中相同连续元素的数据帧拆分为列表(并保持数据框元素在列表中的顺序)如下所示?

数据帧:

X__1
S003
S003
S003
S006
S006
S011
S007
S007
S003
S003
S005
S006
Run Code Online (Sandbox Code Playgroud)

进入:

$`1`
S003
S003
S003

$`2`
S006
S006

$`3`
S011

$`4`
S007
S007

$`5`
S003
S003

$`6`
S005

$`7`
S006
Run Code Online (Sandbox Code Playgroud)

我尝试使用:split(df, interaction(df$X__1))但是这将按照我的列表中的类别创建组,如下所示:

$`1`
S003
S003
S003
S003
S003

$`2`
S005

$`3`
S006
S006
S006

$`4`
S007
S007

$`6`
S011
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助 :)

Sot*_*tos 5

我们可以使用rleiddata.table中的函数来分割它,即

split(df, data.table::rleid(df$X__1))
Run Code Online (Sandbox Code Playgroud)