Hea*_*ner 9 grouping r data.table
我想创建一个data.table表单
newdat
# A B
# 1: 1 1,2
# 2: 2 1,2,3
Run Code Online (Sandbox Code Playgroud)
从一个data.table形式
dat <- data.table(A = c(1, 1, 2, 2, 2), B = c(1, 2, 1, 2, 3))
dat
# A B
# 1: 1 1
# 2: 1 2
# 3: 2 1
# 4: 2 2
# 5: 2 3
Run Code Online (Sandbox Code Playgroud)
我可以newdat直接通过创建
newdat <- data.table(A = 1:2, B = list(1:2, 1:3))
Run Code Online (Sandbox Code Playgroud)
我猜我可以通过类似的方式填写必要的参数
newdat <- data.table(A = unique(dat$A), B = split(dat$B, dat$A))
Run Code Online (Sandbox Code Playgroud)
但我觉得有一种更好的方法可以使用data.table我现在找不到的功能 - 任何建议吗?
干得好 dat[,list(B=list(B)),by=A]
dat[,list(B=list(B)),by=A]
A B
1: 1 1,2
2: 2 1,2,3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1334 次 |
| 最近记录: |