Mary Ann Middleton
2017-Feb-01 16:41 UTC
[R] How to create 10 minute time series from hourly data
Hello, Apologies if this is a duplicate. I think I sent it to the wrong list yesterday. I would appreciate some direction/suggestions with a problem with a time series. I have a regular time series dataframe with hourly data. I need to create a time series with a 10 minute interval for $Level_m to compare to another time series. I would like to apply an approximation and create a time series with 10 minute intervals from the data series I have. I do not want to smooth the data and so I think a linear approximation would suffice. I have also searched xts for possible solutions but haven't had luck. Any input is greatly appreciated. ~Mary Ann Middleton, PhD Here is a sample of the data I have: Date Time date.time ms LEVEL TEMPERATURE Level_m 1 2016-05-31 15:25:00 2016-05-31 15:25:00 0 92.1767 25.171 9.401814 2 2016-05-31 16:25:00 2016-05-31 16:25:00 0 92.1498 18.023 9.399071 3 2016-05-31 17:25:00 2016-05-31 17:25:00 0 92.0781 17.951 9.391757 4 2016-05-31 18:25:00 2016-05-31 18:25:00 0 92.0664 16.312 9.390564 5 2016-05-31 19:25:00 2016-05-31 19:25:00 0 92.0250 15.043 9.386341 6 2016-05-31 20:25:00 2016-05-31 20:25:00 0 91.9732 14.015 9.381058 Here is the str() 'data.frame': 164 obs. of 7 variables: $ Date : chr " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " ... $ Time : chr "15:25:00" "16:25:00" "17:25:00" "18:25:00" ... $ date.time : POSIXct, format: " 2016-05-31 15:25:00" " 2016-05-31 16:25:00" ... $ ms : int 0 0 0 0 0 0 0 0 0 0 ... $ LEVEL : num 92.2 92.1 92.1 92.1 92 ... $ TEMPERATURE: num 25.2 18 18 16.3 15 ... $ Level_m : num 9.4 9.4 9.39 9.39 9.39 ... [[alternative HTML version deleted]]
Bert Gunter
2017-Feb-01 18:56 UTC
[R] How to create 10 minute time series from hourly data
Perhaps: ?approx Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Wed, Feb 1, 2017 at 8:41 AM, Mary Ann Middleton <maberg at sfu.ca> wrote:> Hello, > > Apologies if this is a duplicate. I think I sent it to the wrong list yesterday. > > I would appreciate some direction/suggestions with a problem with a time series. > > I have a regular time series dataframe with hourly data. I need to create a time series with a 10 minute interval for $Level_m to compare to another time series. > > I would like to apply an approximation and create a time series with 10 minute intervals from the data series I have. I do not want to smooth the data and so I think a linear approximation would suffice. > > I have also searched xts for possible solutions but haven't had luck. Any input is greatly appreciated. > > ~Mary Ann Middleton, PhD > > > > > Here is a sample of the data I have: > > Date Time date.time ms LEVEL TEMPERATURE Level_m > 1 2016-05-31 15:25:00 2016-05-31 15:25:00 0 92.1767 25.171 9.401814 > 2 2016-05-31 16:25:00 2016-05-31 16:25:00 0 92.1498 18.023 9.399071 > 3 2016-05-31 17:25:00 2016-05-31 17:25:00 0 92.0781 17.951 9.391757 > 4 2016-05-31 18:25:00 2016-05-31 18:25:00 0 92.0664 16.312 9.390564 > 5 2016-05-31 19:25:00 2016-05-31 19:25:00 0 92.0250 15.043 9.386341 > 6 2016-05-31 20:25:00 2016-05-31 20:25:00 0 91.9732 14.015 9.381058 > > Here is the str() > > 'data.frame': 164 obs. of 7 variables: > $ Date : chr " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " ... > $ Time : chr "15:25:00" "16:25:00" "17:25:00" "18:25:00" ... > $ date.time : POSIXct, format: " 2016-05-31 15:25:00" " 2016-05-31 16:25:00" ... > $ ms : int 0 0 0 0 0 0 0 0 0 0 ... > $ LEVEL : num 92.2 92.1 92.1 92.1 92 ... > $ TEMPERATURE: num 25.2 18 18 16.3 15 ... > $ Level_m : num 9.4 9.4 9.39 9.39 9.39 ... > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Bert Gunter
2017-Feb-02 04:42 UTC
[R] How to create 10 minute time series from hourly data
1. Always cc the list. 2. Assuming all you want to to do is produce a regular sequence 6 times as long, ?seq Please go through an R tutorial or two to learn basic R functionality like this. Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Wed, Feb 1, 2017 at 11:25 AM, Mary Ann Middleton <maberg at sfu.ca> wrote:> Thank you. I will try that for interpolating the values between hours. > > But before I can do that, do you have any suggestions how I can expand the > time series from hourly to 10-minute intervals? > > I think I will need to create an time series and then merge it with the > existing data frame, at which point I could apply 'approx' to fill the > remaining values, but this is where I'm really stuck. > > ~Mary Ann > ________________________________ > From: "Bert Gunter" <bgunter.4567 at gmail.com> > To: "Mary Ann Middleton" <maberg at sfu.ca> > Cc: "R-help" <r-help at r-project.org> > Sent: Wednesday, February 1, 2017 10:56:19 AM > Subject: Re: [R] How to create 10 minute time series from hourly data > > Perhaps: > > ?approx > > Cheers, > Bert > Bert Gunter > > "The trouble with having an open mind is that people keep coming along > and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Wed, Feb 1, 2017 at 8:41 AM, Mary Ann Middleton <maberg at sfu.ca> wrote: >> Hello, >> >> Apologies if this is a duplicate. I think I sent it to the wrong list >> yesterday. >> >> I would appreciate some direction/suggestions with a problem with a time >> series. >> >> I have a regular time series dataframe with hourly data. I need to create >> a time series with a 10 minute interval for $Level_m to compare to another >> time series. >> >> I would like to apply an approximation and create a time series with 10 >> minute intervals from the data series I have. I do not want to smooth the >> data and so I think a linear approximation would suffice. >> >> I have also searched xts for possible solutions but haven't had luck. Any >> input is greatly appreciated. >> >> ~Mary Ann Middleton, PhD >> >> >> >> >> Here is a sample of the data I have: >> >> Date Time date.time ms LEVEL TEMPERATURE Level_m >> 1 2016-05-31 15:25:00 2016-05-31 15:25:00 0 92.1767 25.171 9.401814 >> 2 2016-05-31 16:25:00 2016-05-31 16:25:00 0 92.1498 18.023 9.399071 >> 3 2016-05-31 17:25:00 2016-05-31 17:25:00 0 92.0781 17.951 9.391757 >> 4 2016-05-31 18:25:00 2016-05-31 18:25:00 0 92.0664 16.312 9.390564 >> 5 2016-05-31 19:25:00 2016-05-31 19:25:00 0 92.0250 15.043 9.386341 >> 6 2016-05-31 20:25:00 2016-05-31 20:25:00 0 91.9732 14.015 9.381058 >> >> Here is the str() >> >> 'data.frame': 164 obs. of 7 variables: >> $ Date : chr " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " >> ... >> $ Time : chr "15:25:00" "16:25:00" "17:25:00" "18:25:00" ... >> $ date.time : POSIXct, format: " 2016-05-31 15:25:00" " 2016-05-31 >> 16:25:00" ... >> $ ms : int 0 0 0 0 0 0 0 0 0 0 ... >> $ LEVEL : num 92.2 92.1 92.1 92.1 92 ... >> $ TEMPERATURE: num 25.2 18 18 16.3 15 ... >> $ Level_m : num 9.4 9.4 9.39 9.39 9.39 ... >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code.
Hi You maybe could try ?splinefun or ?approxfun Cheers Petr> -----Original Message----- > From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Mary Ann > Middleton > Sent: Wednesday, February 1, 2017 5:42 PM > To: r-help at r-project.org > Subject: [R] How to create 10 minute time series from hourly data > > Hello, > > Apologies if this is a duplicate. I think I sent it to the wrong list yesterday. > > I would appreciate some direction/suggestions with a problem with a time > series. > > I have a regular time series dataframe with hourly data. I need to create a > time series with a 10 minute interval for $Level_m to compare to another > time series. > > I would like to apply an approximation and create a time series with 10 > minute intervals from the data series I have. I do not want to smooth the > data and so I think a linear approximation would suffice. > > I have also searched xts for possible solutions but haven't had luck. Any input > is greatly appreciated. > > ~Mary Ann Middleton, PhD > > > > > Here is a sample of the data I have: > > Date Time date.time ms LEVEL TEMPERATURE Level_m > 1 2016-05-31 15:25:00 2016-05-31 15:25:00 0 92.1767 25.171 9.401814 > 2 2016-05-31 16:25:00 2016-05-31 16:25:00 0 92.1498 18.023 9.399071 > 3 2016-05-31 17:25:00 2016-05-31 17:25:00 0 92.0781 17.951 9.391757 > 4 2016-05-31 18:25:00 2016-05-31 18:25:00 0 92.0664 16.312 9.390564 > 5 2016-05-31 19:25:00 2016-05-31 19:25:00 0 92.0250 15.043 9.386341 > 6 2016-05-31 20:25:00 2016-05-31 20:25:00 0 91.9732 14.015 9.381058 > > Here is the str() > > 'data.frame': 164 obs. of 7 variables: > $ Date : chr " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " ... > $ Time : chr "15:25:00" "16:25:00" "17:25:00" "18:25:00" ... > $ date.time : POSIXct, format: " 2016-05-31 15:25:00" " 2016-05-31 16:25:00" ... > $ ms : int 0 0 0 0 0 0 0 0 0 0 ... > $ LEVEL : num 92.2 92.1 92.1 92.1 92 ... > $ TEMPERATURE: num 25.2 18 18 16.3 15 ... > $ Level_m : num 9.4 9.4 9.39 9.39 9.39 ... > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code.________________________________ Tento e-mail a jak?koliv k n?mu p?ipojen? dokumenty jsou d?v?rn? a jsou ur?eny pouze jeho adres?t?m. Jestli?e jste obdr?el(a) tento e-mail omylem, informujte laskav? neprodlen? jeho odes?latele. Obsah tohoto emailu i s p??lohami a jeho kopie vyma?te ze sv?ho syst?mu. Nejste-li zam??len?m adres?tem tohoto emailu, nejste opr?vn?ni tento email jakkoliv u??vat, roz?i?ovat, kop?rovat ?i zve?ej?ovat. Odes?latel e-mailu neodpov?d? za eventu?ln? ?kodu zp?sobenou modifikacemi ?i zpo?d?n?m p?enosu e-mailu. V p??pad?, ?e je tento e-mail sou??st? obchodn?ho jedn?n?: - vyhrazuje si odes?latel pr?vo ukon?it kdykoliv jedn?n? o uzav?en? smlouvy, a to z jak?hokoliv d?vodu i bez uveden? d?vodu. - a obsahuje-li nab?dku, je adres?t opr?vn?n nab?dku bezodkladn? p?ijmout; Odes?latel tohoto e-mailu (nab?dky) vylu?uje p?ijet? nab?dky ze strany p??jemce s dodatkem ?i odchylkou. - trv? odes?latel na tom, ?e p??slu?n? smlouva je uzav?ena teprve v?slovn?m dosa?en?m shody na v?ech jej?ch n?le?itostech. - odes?latel tohoto emailu informuje, ?e nen? opr?vn?n uzav?rat za spole?nost ??dn? smlouvy s v?jimkou p??pad?, kdy k tomu byl p?semn? zmocn?n nebo p?semn? pov??en a takov? pov??en? nebo pln? moc byly adres?tovi tohoto emailu p??padn? osob?, kterou adres?t zastupuje, p?edlo?eny nebo jejich existence je adres?tovi ?i osob? j?m zastoupen? zn?m?. This e-mail and any documents attached to it may be confidential and are intended only for its intended recipients. If you received this e-mail by mistake, please immediately inform its sender. Delete the contents of this e-mail with all attachments and its copies from your system. If you are not the intended recipient of this e-mail, you are not authorized to use, disseminate, copy or disclose this e-mail in any manner. The sender of this e-mail shall not be liable for any possible damage caused by modifications of the e-mail or by delay with transfer of the email. In case that this e-mail forms part of business dealings: - the sender reserves the right to end negotiations about entering into a contract in any time, for any reason, and without stating any reasoning. - if the e-mail contains an offer, the recipient is entitled to immediately accept such offer; The sender of this e-mail (offer) excludes any acceptance of the offer on the part of the recipient containing any amendment or variation. - the sender insists on that the respective contract is concluded only upon an express mutual agreement on all its aspects. - the sender of this e-mail informs that he/she is not authorized to enter into any contracts on behalf of the company except for cases in which he/she is expressly authorized to do so in writing, and such authorization or power of attorney is submitted to the recipient or the person represented by the recipient, or the existence of such authorization is known to the recipient of the person represented by the recipient.
Joshua Ulrich
2017-Feb-02 12:38 UTC
[R] How to create 10 minute time series from hourly data
On Wed, Feb 1, 2017 at 10:41 AM, Mary Ann Middleton <maberg at sfu.ca> wrote:> Hello, > > Apologies if this is a duplicate. I think I sent it to the wrong list yesterday. > > I would appreciate some direction/suggestions with a problem with a time series. > > I have a regular time series dataframe with hourly data. I need to create a time series with a 10 minute interval for $Level_m to compare to another time series. > > I would like to apply an approximation and create a time series with 10 minute intervals from the data series I have. I do not want to smooth the data and so I think a linear approximation would suffice. > > I have also searched xts for possible solutions but haven't had luck. Any input is greatly appreciated. >Here's an xts solution: # Create xts object from data.frame x <- xts(Data[,c("ms", "LEVEL", "TEMPERATURE", "Level_m")], Data$date.time) # Create regular, 10-minute, "zero-width" (i.e. no columns) xts object # that spans all the times in 'x' x10min <- xts(, order.by = seq(start(x), end(x), by = "10 min")) # Merge regular xts object with original data, filling via zoo::na.approx y <- merge(x, x10min, fill = na.approx)> ~Mary Ann Middleton, PhD > > > > > Here is a sample of the data I have: > > Date Time date.time ms LEVEL TEMPERATURE Level_m > 1 2016-05-31 15:25:00 2016-05-31 15:25:00 0 92.1767 25.171 9.401814 > 2 2016-05-31 16:25:00 2016-05-31 16:25:00 0 92.1498 18.023 9.399071 > 3 2016-05-31 17:25:00 2016-05-31 17:25:00 0 92.0781 17.951 9.391757 > 4 2016-05-31 18:25:00 2016-05-31 18:25:00 0 92.0664 16.312 9.390564 > 5 2016-05-31 19:25:00 2016-05-31 19:25:00 0 92.0250 15.043 9.386341 > 6 2016-05-31 20:25:00 2016-05-31 20:25:00 0 91.9732 14.015 9.381058 > > Here is the str() > > 'data.frame': 164 obs. of 7 variables: > $ Date : chr " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " " 2016-05-31 " ... > $ Time : chr "15:25:00" "16:25:00" "17:25:00" "18:25:00" ... > $ date.time : POSIXct, format: " 2016-05-31 15:25:00" " 2016-05-31 16:25:00" ... > $ ms : int 0 0 0 0 0 0 0 0 0 0 ... > $ LEVEL : num 92.2 92.1 92.1 92.1 92 ... > $ TEMPERATURE: num 25.2 18 18 16.3 15 ... > $ Level_m : num 9.4 9.4 9.39 9.39 9.39 ... > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com R/Finance 2017 | www.rinfinance.com