Table - conditional maths and plots from variables
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Thiago de Aquino Costa Sousa
am 18 Sep. 2022
Kommentiert: Thiago de Aquino Costa Sousa
am 21 Sep. 2022
Dear all,
I have a 57254x87 table, on which I need to perform some maths and plots with the tables. I have one column called Subject_Id (total of 8 particpants) and another one called Trial_Id (a total of 6 per particpant), and I need to plot the data from two others variables. For example, I am looking for a code that will take the first subject, then run a loop for each one of the 6 trials, ploting the data of my columns 3 and 4, and then take the second subject, and reproduces the same thing one more time, and so on for the 8 subjects.
I guess I need one loop inside the other, but I am not sure how to do it.
Any help will be very much appreciated.
3 Kommentare
Chunru
am 19 Sep. 2022
Try to upload a mat file:
data = yourdata(1:200, :); % 1:200 or other number to demonstrate your case
Akzeptierte Antwort
Paul
am 19 Sep. 2022
Check out splitapply
7 Kommentare
Paul
am 20 Sep. 2022
Bearbeitet: Paul
am 20 Sep. 2022
Only one splitapply is needed
Create some data in a table.
rng(100)
T = table;
T.subj = [ones(10,1); 2*ones(10,1)];
T.trial = 3*randi(2,20,1);
T.col3 = (1:20).';
T.col4 = T.subj + T.trial;
Make the plots
G = findgroups(T.subj,T.trial);
splitapply(@(subj,trial,col3,col4) makeplot(subj(1),trial(1),col3,col4),T.subj,T.trial,T.col3,T.col4,G);
function makeplot(subj,trial,col3,col4)
figure
plot(col3,col4,'-o')
title("subj = " + double(subj) + ", trial = " + double(trial));
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!