How to select rows that precede and follow a specific row with a certain value?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Steve Schulz
el 16 de Nov. de 2021
Comentada: Steve Schulz
el 16 de Nov. de 2021
Hey there,
I'm currently working with experimental data that is stored in a 288 x 25 double (288 = total number of trials ; 25 = variables of interest). Column '13' represents the 'correctness' coded as 1 = correct and 0 = error. What I'm trying to do is to select sequences of '1 0 1' that is every row that precedes an error trial and every row that follows the same error trial. I want to store the 'pre-error-trials' and the 'post-error-trials' as variables separately.
Since I'm still a newbie to Matlab I'm not familiar with every concept but I guess that logcial indexing might play a role here?
I would be very grateful if you could provide some help.
0 comentarios
Respuesta aceptada
Matt J
el 16 de Nov. de 2021
c=data(:,13);
preError=data( c(1:end-1)==1 & c(2:end)==0 ,:);
postError=data( c(1:end-1)==0 & c(2:end)==1 ,:);
7 comentarios
Matt J
el 16 de Nov. de 2021
Oh, it seems that you are familiar with this?
No, but clearly if the column data(:,13) begins or ends with a 0, it will happen.
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!