将data.frame转换为基于id的列表

his*_*eim 2 r data-manipulation

我有一个data.frame:

DF <- data.frame(id=c(1,1,2,2), event=c("merged", "discussed", "merged", "discussed")) 
Run Code Online (Sandbox Code Playgroud)

现在我想把它变成一个列表,这样列表包含两个条目 - 每个id一个(即1和2),然后只有与这些条目对应的记录,如下:

List of 2:
 [1] name: "1", data.frame
   id     event
 1  1    merged
 2  1 discussed
 [2] name: "2", data.frame
  id      event
 1  2    merged
 2  2 discussed
Run Code Online (Sandbox Code Playgroud)

显然,我正在寻找一个可推广的解决方案,它将扩展到这个最小的例子之外.

akr*_*run 5

试试吧 split

split(DF, DF$id)
Run Code Online (Sandbox Code Playgroud)