How to extract desired variables column data from a table?
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
I have the data in excel csv file with variable names as follows
 Var1    POSValue    MAXSum    AVGSum    SOS     POS    EOS     Base     Duration    FirstHalf    SecondHalf    GrowthRate    SenescenceRate    Peaks    total_cane    act_y_ha    act_per_ha    field_yield    total_FS     variety
However, I want to get only required variables by using following matlab code
features = df.Properties.VariableNames(~ismember(df.Properties.VariableNames, ...
    {'POS value', 'MAX sum', 'AVG sum', 'SOS', 'POS', 'EOS', ...
    'base', 'duration', 'first half', 'second half', 'growth rate', ...
    'senescence rate', 'peaks'}));  
Instead it is extracting all the variables.
Please suggest me how to get the required variables.
Dev
0 件のコメント
回答 (1 件)
  Mathieu NOE
      
 2024 年 3 月 7 日
        hello 
this is one solution 
NB that the variables names and the names your are using in the selection are not exactly the same, 
like POSValue    MAXSum    vs POS value , MAX sum and alike....
I corrected this minor bug 
T =readtable("data.xlsx");
v =   {'POSValue', 'MAXSum', 'AVGSum', 'SOS', 'POS', 'EOS', ...
    'Base', 'Duration', 'FirstHalf', 'SecondHalf', 'GrowthRate', ...
    'SenescenceRate', 'Peaks'};
v_to_use = v(ismember(v,T.Properties.VariableNames));
new_T = T(:,v_to_use)
4 件のコメント
  Mathieu NOE
      
 2024 年 3 月 7 日
				this is not my code :  X = T(:, new_T);
new_T is the table extracted from T , so T(:, new_T) is non sense (you cannot use a table as a table  subscript 
use the code I provided above (it works !!)
参考
カテゴリ
				Help Center および File Exchange で Tables についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!