How to number rows of a table by group

I have a table with 2-3 rows per subject(PATID). Now, I would like to add a column which indicate if it is the first, second or third training of a patient (as shown in the figure). There must be a simple way, but I cant figure it out.
Thanks for your help

1 Comment

It should be fairly simple. You should upload some data.

Sign in to comment.

 Accepted Answer

jonas
jonas on 17 Oct 2018
Edited: jonas on 17 Oct 2018
Can try something like this:
PATID = [1 1 3 3 3 5 9 9 12]'
T = table(PATID)
out = varfun(@(x)1:length(x),T,'InputVariables','PATID','GroupingVariables','PATID','OutputFormat','cell')
out = [out{:}]'
Just put out in a new column.

2 Comments

Thank you! This worked. Kind regards
My pleasure!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2017b

Asked:

on 17 Oct 2018

Commented:

on 17 Oct 2018

Community Treasure Hunt

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

Start Hunting!