[datatable-help] I have been agnozing over how to do a running cummulative sum over a particular date range
Farrel Buchinsky
fjbuch at gmail.com
Tue Jul 15 05:10:51 CEST 2014
Is there perhaps a more data.tabely way of doing it?.
Farrel Buchinsky
Google Voice Tel: (412) 567-7870
On Mon, Jul 14, 2014 at 11:06 PM, Farrel Buchinsky <fjbuch at gmail.com> wrote:
> I do not understand why you have to make a list Ref <-
> data[,list(Compare_Value=list(I(Value)),Compare_Date=list(I(Date)))] when
> the data is already sitting in a data.table. Is it simply because lapply
> works on a list and not a data.table?
>
> Farrel Buchinsky
> Google Voice Tel: (412) 567-7870
>
>
> On Mon, Jul 14, 2014 at 10:49 PM, Mike.Gahan <michael.gahan at gmail.com>
> wrote:
>
>> But what if the dates are irregularly spaced?
>>
>> #Build some sample data
>> set.seed(12345)
>> data <- data.table(Date=seq(1,60,by=3),Value=rpois(20,10))
>>
>> #Build reference table. This is where we keep the list of Dates and
>> Values
>> that will be referenced for
>> #each individual data
>> Ref <-
>> data[,list(Compare_Value=list(I(Value)),Compare_Date=list(I(Date)))]
>>
>> #Use lapply to get last seven days of value by id
>> data[,Roll.Val := lapply(Date, function(x) {
>> d <- as.numeric(Ref$Compare_Date[[1]] - x)
>> sum((d <= 0 & d >= -7)*Ref$Compare_Value[[1]])})]
>>
>> head(data,10)
>>
>> Date Value Roll.Val
>> 1: 1 12 12
>> 2: 4 9 21
>> 3: 7 10 31
>> 4: 10 10 29
>> 5: 13 14 34
>> 6: 16 13 37
>> 7: 19 7 34
>> 8: 22 12 32
>> 9: 25 12 31
>> 10: 28 16 40
>>
>>
>>
>> --
>> View this message in context:
>> http://r.789695.n4.nabble.com/I-have-been-agnozing-over-how-to-do-a-running-cummulative-sum-over-a-particular-date-range-tp4693953p4694009.html
>> Sent from the datatable-help mailing list archive at Nabble.com.
>> _______________________________________________
>> datatable-help mailing list
>> datatable-help at lists.r-forge.r-project.org
>>
>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20140714/9a08b4a4/attachment.html>
More information about the datatable-help
mailing list