Hi Forrest,
Thanks for your suggestions. But this rolling sd computes the sd for
the rows, 1:5, 6:11, 12:17,....What I want is to calculate the sd for
the rows 1:5, 2:6, 3:7, likewise
Thanks
Souvik
On Sun, 31 Aug 2014 10:25:23 0400, Forrest Stevens wrote:
> I think that rollapply() is actually what you want unless I'm
> misunderstanding your data structure. For example, this is what I
> think
> you're trying to accomplish:
>
>
> require(xts)
>
> d < zooreg(rnorm(50), order.by=as.Date(1:50), deltat=1/365)
>
> ## Make an irregular time series out of it:
> di < sample(d, 40)
>
> ## This I think approximates the data you have:
> ds < xts(di)
> dz < merge(ds, d)
>
> s < rollapply(dz[,1], width=5, by=5, FUN=sd, na.rm=TRUE)
>
>
> It would help if you supplied a full sample of your data and the code
> you're using to prepare it, or at least something like the above.
> But
> hopefully this gets you part of the way there.
>
> Sincerely,
> Forrest
>
> 
> Forrest R. Stevens
> Ph.D. Candidate, QSE3 IGERT Fellow
> Department of Geography
> Land Use and Environmental Change Institute
> University of Florida
> www.clas.ufl.edu/users/forrest
>
>
> On Sun, Aug 31, 2014 at 7:10 AM, Bhattacharya,Souvik <[log in to unmask]>
> wrote:
>
>> Hi Guys,
>>
>> I have a time series dataframe which looks like
>>
>> 20140205 20140206 20140207 20140212 20140214 20140217
>> 20140218 20140219 ......
>> 0.0379 0.0008 0.0352 0.0379 0.0392 0.0173
>> 0.0360 0.0371
>>
>> I want to compute moving standard deviation for every 5th day data
>> from
>> this list. What I mean is that, I wish to select a sample in the
>> form such
>> that sample1[1] = 20140205 0.0379 , sample1[2] =20140212
>> 0.0379.....and then find the std dev of this sample and then use a
>> rolling
>> standard deviation to move on to the next date i.e. sample2[1]
>> =20140206
>> 0.0008 , sample2[2] =20140212 0.0379 and find the standard
>> deviation of
>> this list and so on. Since day available is irregular, I cannot use
>> seq(1:l, by = ). In rollapply, the function would take every
>> consecutive
>> numbers to compute the standard deviation. Is there a way to sample
>> every
>> 5th day data from this list in an efficient way, or modify the
>> standard
>> deviation function somehow, to make it select every 5th day data and
>> then
>> compute the standard deviation on the available data. Any suggestion
>> in
>> this regard will be highly appreciated.
>>
>> Thanks
>> Souvik
>>
>> This list strives to be beginner friendly. However, we still ask
>> that you
>> PLEASE do read the posting guide http://www.Rproject.org/
>> postingguide.html
>> and provide commented, minimal, selfcontained, reproducible code.
>>
>
> This list strives to be beginner friendly. However, we still ask
> that you
> PLEASE do read the posting guide
> http://www.Rproject.org/postingguide.html
> and provide commented, minimal, selfcontained, reproducible code.
This list strives to be beginner friendly. However, we still ask that you
PLEASE do read the posting guide http://www.Rproject.org/postingguide.html
and provide commented, minimal, selfcontained, reproducible code.
