I am generating output by applying function to some subsets of data.table. I am using function like this:
data[, foo(args), by=list(Year, Month)]
My function foo
return always a vector of length n
. I am getting an output like this:
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
But I would like something like
Year Month V1 V2 V3 V4 ...
1: 1983 2 9.734669e-06 9.165665e-06 2.097477e-05 3.803727e-05 ...
I even tried using list(foo(args))
, it didn't help. Or should the output be in form foo$V1, foo$V2 ...
?
Try
data[, as.list(foo(args)), by=list(Year, Month)]
or change foo
to return a list
rather than a vector
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With