count a sequence of 1 or 0
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi
I have the following data (2 column, A and B) imported from Excel:
  A    B
  0    0 
  0    1 
  1    1 
  1    0  
  1    1  
  1    0 
  0    1 
  1    1 
  0    1 
  0    1 
I want to count the repeat of 0 and 1 in sequence for column A. I do not want to count all 1 or all 0. Next, based on this count, I want to count only 0 on column B for same sequence.
I expect the following result:
2      1
4      2
1      0
1      0
2      0
0 Commenti
Risposta accettata
  Stephen23
      
      
 il 10 Dic 2019
        
      Modificato: Stephen23
      
      
 il 10 Dic 2019
  
      >> M = [0,0;0,1;1,1;1,0;1,1;1,0;0,1;1,1;0,1;0,1]
M =
   0   0
   0   1
   1   1
   1   0
   1   1
   1   0
   0   1
   1   1
   0   1
   0   1
>> X = [true;diff(M(:,1))~=0];
>> Y = diff(find([X;true]));
>> V = accumarray(cumsum(X),~M(:,2));
>> Z = [Y,V]
Z =
   2   1
   4   2
   1   0
   1   0
   2   0
3 Commenti
  Stephen23
      
      
 il 6 Feb 2020
				Generate X and Y, then do this:
>> F = @(v)sum(v(1+(numel(v)>1):end));
>> V = accumarray(cumsum(X),~M(:,2),[],F);
>> Z = [Y,V]
Z =
   2   0
   4   2
   1   0
   1   0
   2   1
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Data Import from MATLAB in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

