将矢量输出转换为data.table中的列?

时间:2012-10-10 14:30:47

标签: r data.table

我通过将函数应用于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 ...形式?

1 个答案:

答案 0 :(得分:8)

尝试

data[, as.list(foo(args)), by=list(Year, Month)] 

或更改foo以返回list而不是vector