How to group multiple data points (rows) from the same person into one row (containing the average) in a table?
1 view (last 30 days)
Hi, I have a dataset that has individual rows for the reaction time to a computer-based task for different individuals (participant ID). The ParticipantID column has multiple participants in it, the first one being 12131. Additionally, they repeat this task on more than one occasion (Repeat column). I would like to create a table that has the mean ResponseTime per participant per repeat. So in the end I would have a table with 'ParticipantID' 'Repeat' 'ResponseTime' as the variables, where each participant would have repeats 1, 2, 3 etc... currently where the RepeatNumber is the same (i.e. always number 1 in this example), this shows the response to multiple 'trials' within the first 'repeat' of the task and I want to group them together to get the mean response time for the first repeat of this task. Could anyone help me with the code please?
I am very new to this, so any help would be much appreciated. Many thanks!
Asvin Kumar on 10 May 2021
Edited: Asvin Kumar on 11 May 2021
This seems like just the use case for findgroups and splitapply. Both the linked pages have good examples that should help you get started.
The following example shows how to use these two functions on a table: Split Table Data Variables and Apply Functions
You can also have a look at this page which explains the generic split-apply-combine workflow: Grouping Variables to Split Data.