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