我想创建一个<{p>形式的data.table
newdat
# A B
# 1: 1 1,2
# 2: 2 1,2,3
来自表单的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
我可以直接通过
创建newdat
newdat <- data.table(A = 1:2, B = list(1:2, 1:3))
我想我可以通过像
之类的东西填写必要的参数newdat <- data.table(A = unique(dat$A), B = split(dat$B, dat$A))
但我觉得有一种更好的方法可以使用我现在找不到的data.table
功能来做到这一点 - 任何建议?
答案 0 :(得分:8)
在这里你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