我通过将函数应用于data.table的某些子集来生成输出。我正在使用这样的函数:
data[, foo(args), by=list(Year, Month)]
我的函数foo
始终返回长度为n
的向量。我得到这样的输出:
Year Month V1
1: 1983 2 9.734669e-06
2: 1983 2 9.165665e-06
3: 1983 2 2.097477e-05
4: 1983 2 3.803727e-05
但我想要像
这样的东西 Year Month V1 V2 V3 V4 ...
1: 1983 2 9.734669e-06 9.165665e-06 2.097477e-05 3.803727e-05 ...
我甚至尝试使用list(foo(args))
,但没有帮助。或者输出应该是foo$V1, foo$V2 ...
形式?
答案 0 :(得分:8)
尝试
data[, as.list(foo(args)), by=list(Year, Month)]
或更改foo
以返回list
而不是vector
。