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 ...
How to create 10 minute time series from hourly data
4 messages · Mary Ann Middleton, Bert Gunter, PIKAL Petr +1 more
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.
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