Clear Filters
Clear Filters

Accessing data from same variables within different tables in a structural array

1 view (last 30 days)
Hi, I am fairly new at this, so please bear with me...
I have created a struct 1x20 containing twenty 87x6 tables, each containing data from different patients in a study (n=1:20).
Each table is made up of the same 6 variables: TimeAge, TimeCooling, TempCore, etc.. (others really don't matter).
p(n).data.TimeCooling
p(n).data.TempCore
TimeAge and TimeCooling are both in hours and each range from approximately 0 to 85.
How can I access the data from the tables for specific time points?
I would like to find the mean of the variable TempCore of all patients at the same timepoint. (i.e. I want to know the mean of all patients at TimeCooling = 1 hour, then at 2 hours, etc.)
There is some missing data in TempCore that may need to be accounted for.
Any help would be greatly appreciated!

Accepted Answer

Matt J
Matt J on 11 Jun 2024
Edited: Matt J on 11 Jun 2024
fcn=@(p) interp1( p.data.TimeCooling , p .data.TempCore, timepoints(:));
TempCore_Lookups= cell2mat(arrayfun(fcn,p,'uni',0))
result = mean( TempCore_Lookups ,2,'omitnan')
  6 Comments
Jessica L
Jessica L on 12 Jun 2024
Thank you so much!!
Would you be able to explain a bit of what you did there so I could apply this myself in future?
Matt J
Matt J on 12 Jun 2024
Thank you so much!!
You are quite welcome, but please Accept-click the answer to indicate that it did what you want.
Would you be able to explain a bit of what you did there so I could apply this myself in future?
I've added some comments to the code to help understand what it is doing.

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!