I want to call the fifth column from a table
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all, I want to call the columns from a table dynamically
cellCol ={'column_1' ,'column_2', 'column_3','column_4', 'column_5'};
inputTable = array2table(trainingData, 'VariableNames',cellCol);
predictorNames = cellCol(1:end-1);
predictors = inputTable(:, predictorNames);
response = inputTable.cellCol{length(cellCol)};
But it gives the following error
Error using tabular/subsrefDot (line 118)
Unrecognized variable name 'cellCol'.
Error in tabular/numArgumentsFromSubscript (line 55)
x = t.subsrefDot(s(1));
Is there a way to call a column from a table without typing its name?
Thank you
0 Kommentare
Antworten (2)
madhan ravi
am 17 Jan. 2019
Bearbeitet: madhan ravi
am 17 Jan. 2019
inputTable{:,5} % where inputTable is your table
2 Kommentare
madhan ravi
am 17 Jan. 2019
Still not clear upload your table with datas and illustrate an example of output.
Peter Perkins
am 23 Jan. 2019
Same way you'd do it with a struct: "dynamic field indexing", or "dynamic variable indexing" in this case.
response = inputTable.(cellCol{length(cellCol)})
If you want more than one var, use braces:
responses = inputTable{:,cellCol(whichVars)}
0 Kommentare
Siehe auch
Kategorien
Mehr zu Other Formats 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!