如何将向量分解为R中的子向量

use*_*791 2 r

我有一个像这样的矢量:

A B C A B A B D D E
Run Code Online (Sandbox Code Playgroud)

我想把它分成像我所拥有的"A"的数量一样多的向量,如:

A B C
A B
A B D D E
Run Code Online (Sandbox Code Playgroud)

有没有办法完成这项任务?

tal*_*lat 7

你可以使用splitcumsum:

split(x, cumsum(x == "A"))
Run Code Online (Sandbox Code Playgroud)

你得到的回报是一个list向量.A list对我来说似乎最有用,因为它允许每个元素中不同大小的向量(与data.frame例如不同).