Recently I ran into a stone wall when I tried to analyse the time series data from my first-year experiments.
In my experiments, I measured tree sap flow velocity and different environmental controls such as temperature, solar radiation, relative humidity, wind speed and soil moisture. However, these data were at different time steps. The sap flow velocity were at a hourly basis, while the environmental controls were measured at either every 10 minutes or 20 minutes. So I had to aggregate those into the same time sequences.
There are two types of aggregating data. The first is to assemble these data at every hour at each date, in order to make a correlation analysis or multiple linear regression; and the second is to average data which are measured at the same hour, disregarding the date, aiming at analyzing the 24-hour profile of the variables.
Thanks to R, I succeeded in dealing with my four-month data at just ten seconds. Now, I’d like to share the codes with you, giving my soil moisture data as an example. 🙂
-
Making a 24-hour profile of soil moisture
Here is part of my soil moisture data (unit: VW%) at my Treatment 2 plot. I measured the soil moisture at two depth: Shallow ( at the 20 cm depth), and Deep (at the 40 cm depth).
Fig. 1 Example of initial soil moisture data
(1) Save the excel file as *.csv, and import it into R Studio. In my case, I input my data as data frame named soilt2. Please remember to change the data type of Datetime column as Datetime, and turn Shallow column and Deep colunm as numeric.
Fig. 2 Input soil moisture dataset
(2) Input code:
soilt2$Datetime1 <- as.POSIXlt(soilt2$Datetime)$hour ### This will add a new colunm named Datetime1 in the soilt2 dataset. Datetime1 displayed below showed that only the hour was extracted from Datetime.
Fig. 3 the added new colunm Datetime1 is showed on the right of the table.
soilt2 <- aggregate(cbind(Shallow, Deep) ~ Datetime1, data=soilt2, FUN=mean) ### This averaged Shallow and Deep data into hourly data, regardless of the date. In my case, I changed my original dataset. If you don’t want to make change of the original dataset, please give a new name to your new dataset, such as soilt3.
Fig. 4 The changed soilt2 data frame.
Done! Yay!
2. Assemble the data at each hour at each date.
(1) Import the dataset (the same as the first method).
(2) Input the following code
soilt2$Datetime2 <- droplevels(cut(soilt2$Datetime, breaks=”hour”)) ### This added a new colunm named Datetime2 in soilt2, which includes the date and the hour extracted from Datetime column.
Fig. 5 The added new column Datetime2 is showed on the right of the table.
soilt3 <- aggregate(cbind(Shallow, Deep) ~ Datetime2, data=soilt2, FUN=mean) ### This calculate the mean of data in each hour at each date.
Fig. 6 The new soilt3 data frame.
Yay again! Done!
If you want to output these data into excel, you can load package (xlsx), and using the code of write.xlsx( ). For example, I use the following code:
write.xlsx(soilc1, “c:/Users/Yi Wang/Desktop/soilc1.xlsx”)
There are definitely other ways to aggregate the data, but the codes that I put on this blog, in my opinion, is the most simple code. If you disagree with me, or you’d like to share your code, please feel free to leave your comments.
Thank you for reading!
May, 04, 2017
Hi there,
Thanks for your code.
Quick question. Do you know why when I input your line:
soilt2$Datetime2 <- droplevels(cut(soilt2$Datetime, breaks=”hour”))
which translates in my code to:
Site27_summerBB$datetime2 <- droplevels(cut(Site27_summerBB$datetime, breaks=”hour”))
I get:
Error: unexpected input in "Site27_summerBB$datetime2 <- droplevels(cut(Site27_summerBB$datetime, breaks=”"
It appears that it doesn't like "hour"
Many Thanks,
Jenni
Oh, totally realized why as soon as I posted it typical! haha
change from this:
soilt2$Datetime2 <- droplevels(cut(soilt2$Datetime, breaks=”hour”))
to this:
soilt2$Datetime2 <- droplevels(cut(soilt2$Datetime, breaks='hour'))
Thanks
Hi Jenni, thank you for reading! I am glad to know that the problem has fixed 😉
Don’t forget to load library(plyr)!
Hi Yi
Thanks for sharing. I have some half-yearly electricity demand data and I wish to convert it into time series object. The data is between 2014-2017, therefore, includes the leap year 2016. I am not sure how to convert it to a time series object
Hi Heidi,
Thanks for reading the post! The gap should not be an issue if u use the codes in this post. Could you please let me know how you would like to convert?
Thank you for this very helpful post!
When I want to break into hour: data.merged_wake_sleep$Datetime2 <- droplevels(cut(data.merged_wake_sleep$absolute_Date, breaks= 'hour'))
I get the following error message: Error in cut.default(data.merged_wake_sleep$absolute_Date, breaks = "hour") :
'x' must be numeric.
Anyone familiar with this?
Best,
Lea
Hi Lea,
Thanks for reading it! Maybe try this:
data.merged_wake_sleep$absolute_Date1 <- as.numeric(data.merged_wake_sleep$absolute_Date) # turn your raw data into numeric data data.merged_wake_sleep$Datetime2 <- droplevels(cut(data.merged_wake_sleep$absolute_Date1, breaks= 'hour')) Please let me know if it works! Thank you!
Thank you so much!
It worked :).
Best,
Lea
Hello,
Thank you for this very helpful article!
I came across the same issue as Lea, and tried to use the fix suggested but received the following error message:
Error in breaks + 1 : non-numeric argument to binary operator
When I take a look at my table, the new column I created with the as.numeric from the date/time column was simply numbered 1-12874 (number of values), rather than keeping any date/time format.
Any ideas as to why this might be?
Thank you!! I really appreciate the simplicity!!
This was really easy to understand. Thanks! However, how would you do this across multiple days?
I have the same question, actually! Did you figure it out, Colleen?
Thanks,
Kim
I have a 2 years 30 minutes data, it contains other factors too. How do I convert it to hourly?
This is really a extremely beneficial read for me, Have to admit you might be 1 in the most effective bloggers and my seotons I ever saw.Thanks for posting this informative article.
Thanks, A Lot…
Please don’t stop your Blogging and continue posting such solution..
It helps a lot.
What a nice article i found , i was looking it for a long time , i been searching it for so long now that i found out really help me.
We must be more passionate about everything espeCially when it comes in our nature and environment check this out also >>
카지노사이트
I read that Post and got it fine and informative. Please share more like that..
토토사이트
I will bookmark your web site and take the feeds additionally…I am satisfied to search out a lot of helpful information right here in the publish, we want work out more techniques on this regard, thanks for sharing.
파워볼사이트
Thank you so much for the article ! Simple, efficient and very clear. After hours spent to look for a solution, your article was a great help for me.
I searched a lot on this topic and finally found it. I read your post and was very impressed. We visit this site frequently to appreciate your comments. keo nha cai
Your writing is perfect and complete. However, I think it will be more wonderful if your post includes additional topics that I am thinking of. I have a lot of posts on my site similar to your topic. Would you like to visit once? keonhacai
This is very sharp and straight to the point. Been struggling with the complicated posts on stack overflow. Thank you for this!
What a nice article i found , i was looking it for a long time , i been searching it for so long now that i found out really help me. 토토사이트
I read that Post and got it fine and informative. Please share more like that.. 메이저사이트
Thanks, A Lot…
Please don’t stop your Blogging and continue posting such solution.. 먹튀검증
I read a good article. It was very helpful and provided a lot of reference. https://mt-tiger.com/
Tanks For Sharing… I like Your Websaite… My Web Jual Fire Tube Boiler Horizontal
I enjoyed reading a good article. It was very helpful and gave me some good information. I will visit you often.
keep publishing such info. technology entrepreneur posts
I have never heard of this information before. Thank you so much for sharing!
junk removal palm beach fl
So lucky to come across your excellent blog. Your blog brings me a great deal of fun. Good luck with the site.
decks raleigh nc
Interesting read, can i share this on my blog?
keep publishing such info.MP4Moviez
good work well thnaks for this post
good owrk
This is my first-time visit to your blog and I am very interested in the articles that you serve. Provide enough knowledge for me.
Looking to upgrade your smart device game? Look no further than our comprehensive list of the Best Smart Accessories! From smartwatches to Bluetooth headphones, we’ve got you covered with the latest and greatest in tech accessories. Discover the ultimate add-ons that will take your device experience to the next level. Don’t settle for mediocre accessories – read our guide and step up your smart device game today!
t500 smart watch price in pakistan
At World Counseling, we believe in the power of personal growth, self-discovery, and well-being. Our mission is to provide unique and effective counseling services to individuals seeking support, guidance, and transformation.
https://worldcounsling.com/
We have thousands of happy customers whom we have helped with our experience and professional team. Nothing is worth more than our relationship of trust with our well-esteemed customers, so our priority is to provide risk-free performance with high satisfaction. The Dream Cool AC Service team is highly equipped and ensures top-notch work delivery.
AC installation in dubai
Everything you love is in faj.ae Shop. Discover and buy Electrical, Electronics, Home Appliances, AC,
water heater
Thanks for sharing very excellent information. https://blogsyo.com
This is a great post. I like this topic. This site has lots of advantages. I found many interesting things on this site. It helps me in many ways. Thanks for posting this again.
dmw-scholarship/
Rohit
All the content you mentioned in the post is too good and can be very useful. I will keep it in mind, thanks for sharing the information keep updating, looking forward to more posts. Thanks
aditya-birla-scholarship/
ROHIT
I am really obliged that I have found this sort of blog I had been searching for,
Interesting read! Your post offers a fresh perspective that challenges conventional thinking. Looking forward to more thought-provoking content from you.
Rijbewijs Kopen RDW,Rijbewijs kopen met RDW registratie in Nederland, België en de rest van Europa. Dat is makkelijker dan ooit! In 2024 kan jij je rijbewijs makkelijk, veilig en snel bestellen. nederlands Rijbewijs
Comprare una patente di guida autentica e registrata registrata nella banca dati desiderata e nel comune senza sostenere la parte pratica o teorica dell’esame in pochi giorni
https://compraresubitolapatente.com/
compre uma carta de condução autêntica e registada na base de dados desejada e no município sem fazer a parte prática ou teórica do exame em poucos dias
https://compraracartadeconducao.com/
koop een authentiek en geregistreerd rijbewijs geregistreerd in de gewenste database en bij de gemeente zonder binnen een paar dagen het praktische of theoretische deel van het examen af te leggen
https://koop-nueenrijbewijss.com/
acheter un permis de conduire authentique et enregistré enregistré dans la base de données souhaitée et dans la commune sans passer la partie pratique ou théorique de l’examen en quelques jours seulement
https://acheterdepermisconduiree.com/
Kaufen Sie innerhalb weniger Tage einen authentischen und registrierten Führerschein, der in der gewünschten Datenbank und bei der Gemeinde registriert ist, ohne den praktischen oder theoretischen Teil der Prüfung abzulegen
https://jetztfuhrerscheinkaufenn.com/
Kaufen Sie innerhalb weniger Tage einen authentischen und registrierten Führerschein, der in der gewünschten Datenbank und bei der Gemeinde registriert ist, ohne den praktischen oder theoretischen Teil der Prüfung abzulegen
https://jetzt-fuhrerscheinkaufenn.com/
Wenn Sie auf diese Nachricht stoßen und versuchen, einen registrierten Führerschein ohne Prüfungen zu kaufen, dann sind wir für Sie da. Klicken Sie einfach auf den Link unten, um mit einem Agenten zu sprechen. Der Agent wird Sie dabei unterstützen, den Führerschein zu erhalten
https://fuhrerscheinkf.com/
Se você se deparar com esta mensagem buscando comprar uma carteira de motorista registrada sem os exames então estamos aqui para ajudá-lo, basta clicar no link abaixo para falar com um agente. o agente irá orientá-lo sobre como obter a carteira de motorista
https://imt-cartadeconducao.com/
Se ti imbatti in questo messaggio che cerca di acquistare una patente di guida registrata senza gli esami, allora siamo qui per te, fai semplicemente clic sul collegamento in basso per parlare con un agente. l’agente ti guiderà su come ottenere la patente di guida
https://compropatente.com/
Achetez un permis de conduire réel et enregistré sur notre site Web sans passer d’examens ni passer le test pratique. tout ce dont nous avons besoin, ce sont vos données et elles seront enregistrées dans le système dans les huit prochains jours. Le permis de conduire doit subir la même procédure d’enregistrement que ceux délivrés dans les auto-écoles,
https://acheterpermis-conduire.com/
Als u dit bericht tegenkomt waarin u probeert een geregistreerd rijbewijs te kopen zonder de examens, dan staan wij voor u klaar. Klik eenvoudig op de onderstaande link om met een agent te praten. de agent zal u begeleiden bij het verkrijgen van het rijbewijs
https://belgischrijbewijs.com/
Als u dit bericht tegenkomt waarin u probeert een geregistreerd rijbewijs te kopen zonder de examens, dan staan wij voor u klaar. Klik eenvoudig op de onderstaande link om met een agent te praten. de agent zal u begeleiden bij het verkrijgen van het rijbewijs
https://echtrijbewijskopen.com/
Wenn Sie auf diese Nachricht stoßen und versuchen, einen registrierten Führerschein ohne Prüfungen zu kaufen, dann sind wir für Sie da. Klicken Sie einfach auf den Link unten, um mit einem Agenten zu sprechen. Der Agent wird Sie dabei unterstützen, den Führerschein zu erhalten
https://fuhrerschenkaufen.com/
Wenn Sie auf diese Nachricht stoßen und versuchen, einen registrierten Führerschein ohne Prüfungen zu kaufen, dann sind wir für Sie da. Klicken Sie einfach auf den Link unten, um mit einem Agenten zu sprechen. Der Agent wird Sie dabei unterstützen, den Führerschein zu erhalten
https://fuhrerschein.kaufen/
Als u dit bericht tegenkomt waarin u probeert een geregistreerd rijbewijs te kopen zonder de examens, dan staan wij voor u klaar. Klik eenvoudig op de onderstaande link om met een agent te praten. de agent zal u begeleiden bij het verkrijgen van het rijbewijs
https://kopakorkort-se.com/
Se você se deparar com esta mensagem buscando comprar uma carteira de motorista registrada sem os exames então estamos aqui para ajudá-lo, basta clicar no link abaixo para falar com um agente. o agente irá orientá-lo sobre como obter a carteira de motorista
https://documentosrapido.com/
Dobrý den, rádi Vám pomůžeme uskutečnit Váš sen a během pár dnů se postaráme o registraci a ověření Vašeho řidičského průkazu. Podrobnější informace o tomto procesu naleznete na našich webových stránkách.
https://koupitridicskyprukaz-k.com/
Hallo, wij helpen u graag uw dromen te verwezenlijken door binnen enkele dagen uw rijbewijs te registreren en te verifiëren. Meer gedetailleerde informatie over dit proces vindt u op onze website.
https://rijbewijskopen-p.com/
Hallo, wir unterstützen dich gerne bei der Verwirklichung deines Traumes und übernehmen für dich die Registrierung und Verifizierung deines Führerscheins innerhalb weniger Tage. Genauere Informationen zu diesem Vorgang finden Sie auf unserer Website.
https://fuhrerscheinkaufen-u.com/
Witaj, jesteśmy tutaj, aby pomóc Ci spełnić Twoje marzenia poprzez rejestrację i weryfikację Twojego prawa jazdy w ciągu kilku dni. Więcej rzetelnych informacji na temat tego procesu można znaleźć na naszej stronie internetowej.
https://kupprawojazdy-d.com/
Hallo, wij helpen u graag uw dromen te verwezenlijken door binnen enkele dagen uw rijbewijs te registreren en te verifiëren. Meer gedetailleerde informatie over dit proces vindt u op onze website.
https://koopeenrijbewijs-w.com/
Pozdravljeni, z veseljem vam pomagamo uresničiti vaše sanje z registracijo in overitvijo vozniškega dovoljenja v nekaj dneh. Podrobnejše informacije o tem postopku najdete na naši spletni strani.
https://kupitevozniskodovoljenje-t.com/
Poštovani, rado ćemo vam pomoći u ostvarenju vašeg sna iu roku od nekoliko dana pobrinuti se za registraciju i ovjeru vaše vozačke dozvole. Detaljnije informacije o ovom procesu možete pronaći na našoj web stranici.
https://kupitevozackudozvolu-u.com/
Pomożemy Ci zdać zarówno praktyczny, jak i teoretyczny certyfikat nurkowy w ciągu kilku dni roboczych i pomożemy Ci uzyskać prawdziwe i zarejestrowane prawo jazdy, abyś nie musiał stresować się pisaniem trudnych egzaminów i poświęcać tyle czasu i pieniędzy.
https://kupie-prawo-jazdy.com/
Thank you for sharing… https://kupiprawojazdy.com/
El permiso está sujeto al mismo procedimiento de registro que los permisos expedidos por las autoescuelas.
https://comprar-carnet-deconducir.com/
Pomůžeme vám složit praktickou i teoretickou potápěčskou zkoušku během několika pracovních dnů a pomůžeme vám získat skutečný a registrovaný řidičský průkaz, který si nemusíte stresovat psaním náročných zkoušek a utrácet tolik času a peněz.
https://koupi-tridicskyprukaz.com/
Get it done really fast… https://geregistreerdrijbewijskopen.com/
Le permis doit être soumis à la même procédure d’enregistrement que les permis délivrés par les auto-écoles.
https://acheter-permis-de-conduire.com/
Comprar carta de condução , comprar carta de condução lisboa , comprar carta de condução urgente , comprar carta de conduçao verdadeira , comprar carta de conduçao , comprar cartas de condução , comprar carta de condução preço , comprar carta de conducao , comprar carta de condução portugal…. https://comprar-cartadeconducao.com/
Comprare patente , Comprare la patente , Comprare patente online , Comprare patente originale , comprare la patente online , comprare patente b legale , comprare patente b , comprare patente di guida , comprare la patente di guida…. https://acquistapatentediguida.com/
Comprare patente , Comprare patente , Comprare la patente , Comprare patente online , Comprare patente originale , comprare la patente online , comprare patente b legale , comprare patente b , comprare patente di guida , comprare la patente di guida….. https://comprare-la-patente.com/
Kjøpe førerkort, kjøp førerkort, bestille nytt førerkort mistet, bestille nytt førerkort pris, bestille nytt førerkort, bestill nytt førerkort, hva koster nytt førerkort, kjøpe førerkort Norge, kjøpe førerkort i Norge, kjøp førerkort Norge, kjøpe førerkort Sverige, kjøpe førerkort i Sverige, kjøp førerkort Sverige, kjøpe norsk førerkort, kjøp norsk førerkort, kjøpe et norsk førerkort, kjøpe svensk førerkort, kjøpe et svensk førerkort, ta svensk førerkort….. https://kjopeforerkort.com/
absolutely loved it.thanks
Comprar carta de condução