How to make changes in the table

1 view (last 30 days)
Hi all,
I have a table reporting daily minimum tempreature(TMIN) and maximum tempretaure (TMAX) for year of 2017. How can I make changes to this table so that I can have daily average tempreature for each date. The table is attached for your further investigations.
  2 Comments
Matt J
Matt J on 11 Jan 2023
You mena you have additional data that you want to insert? If not, where are the average values supposed to come from?
Behrooz Daneshian
Behrooz Daneshian on 11 Jan 2023
Edited: Behrooz Daneshian on 11 Jan 2023
No i just want to calculate TAVG=(TMIN+TMAX)/2 and substitue it to TMIN and TMAX. In other words, I want to have one TAVG corresponding to a day.

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 11 Jan 2023
Probably the easiest way to do this is via the following data operations:
  • "unstack" the max/min temperatures into their own columns
  • Take the average
  • "stack" the temperatures again (if you want)
Here is the code:
load("newyearTemp.mat","newyearTemperatureData")
unstackedTemperatureData = unstack(newyearTemperatureData,"value","datatype");
unstackedTemperatureData.TAVE = (unstackedTemperatureData.TMAX+unstackedTemperatureData.TMIN)/2;
restackedTemperatureData = stack(unstackedTemperatureData,["TMAX","TMIN","TAVE"],'NewDataVariableName','value','IndexVariableName','datatype');
I also feel obligated to mention that the daily average temperature is not typically the mean of the high and low. But guessing you know that. :-)
  1 Comment
the cyclist
the cyclist on 11 Jan 2023
Possibly helpful for you in the future is also to become familiar with what is known as the "tidy" data format, where the features (e.g. "station" or "max temperature") are the column, and the observations (e.g. "GHCND:USC00017674" and "68") are the rows.
The unstacking I did put your data into that format, which made it much easier to do the averaging operation on all the observations at once.
I suppose that one could argue that "datatype" is a feature, and "TMAX" is an observation. Sometimes it is tricky. But I like to spread the gospel of tidy data.

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!