Help calculating values from a table into a loop

Hi,
I have the following table T, where there are 2 different timepoints, for 2 different birds, 3 trials per day.
I want to calculate the timepoint 1 and 2, bird 1 and 2, pre and post trials (1 to 3) sum of value1, and sum of value 2 (like the code bellow).
However, I want to do this in a loop/function that wouln't require manual change of numbers. Can you help?
timepoint1_bird1_pre_trials = sum(T.value1(1:3))
timepoint2_bird1_pre_trials = sum(T.value1(7:9))
timepoint1_bird1_post_trials = sum(T.value1(4:6))
timepoint2_bird1_post_trials = sum(T.value1(10:12))

 Accepted Answer

I would do this (untested)
sumTbl = groupsummary(T,["timepoint","bird","day"],'sum',"value1")
The result will be a table identifying each group and the sum of the corresponding group's value1 column.

More Answers (0)

Products

Release

R2021a

Asked:

on 28 Apr 2022

Edited:

on 29 Apr 2022

Community Treasure Hunt

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

Start Hunting!