Get all unique combinations of 2 columns from a table
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
I have a table that has 4 variables, similar to this:
    Item1    Item2    Item3    Item4
    _____    _____    _____    _____
      1        5        7       10  
What is the best way to produce the delta of each combination of columns? Ex. Item1 vs Item2, Item1 vs Item3, etc.
0 件のコメント
採用された回答
  Stephen23
      
      
 2022 年 1 月 19 日
        V = {'Item1','Item2','Item3','Item4'};
T = table(1, 5, 7 ,10, 'VariableNames',V)
X = nchoosek(1:numel(V),2);
D = diff(T{:,V}(X),1,2);
Z = cell2table([V(X),num2cell(D)])
0 件のコメント
その他の回答 (1 件)
  Cris LaPierre
    
      
 2022 年 1 月 19 日
        3 件のコメント
  Cris LaPierre
    
      
 2022 年 1 月 19 日
				I was probably trying too hard to make use of the variablenames. Stephen's approach is simpler by using column numbers instead.
T = table(1, 5, 7 ,10, 'VariableNames', {'Item1' 'Item2' 'Item3' 'Item4'});
C = nchoosek(T.Properties.VariableNames,2)
delta = diff([T{1,{C{:,1}}};T{1,{C{:,2}}}])
参考
カテゴリ
				Help Center および File Exchange で Tables についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


