按ID分组,新表的每个元素都是一个向量

Bin*_*Cui 2 r data.table

我有一张这样的桌子

data.table(ID = c(1,2,3,4,5,6), 
         R = c("s","s","n","n","s","s"), 
         S = c("a","a","a","b","b","b"))
Run Code Online (Sandbox Code Playgroud)

而我正试图得到这个结果

      a     b
s   1, 2      5, 6
n     3         4
Run Code Online (Sandbox Code Playgroud)

data.table中有没有选项可以做到这一点?

Fra*_*ank 5

这是使用普通旧data.table语法的替代方法:

DT[,lapply(split(ID,S),list),by=R]

# or...

DT[,lapply(split(ID,S),toString),by=R]
Run Code Online (Sandbox Code Playgroud)