How to add variables to a table that are products of other variables
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
T4H14
am 10 Okt. 2017
Kommentiert: Walter Roberson
am 11 Okt. 2017
If I have a table of 46 variables and I want to add on new variables to this table which are the squares and cubes of some of these variables (columns 10 and 12-18) how can I accomplish this? I would be adding on 16 new variables (columns) in all to the original table.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 10 Okt. 2017
cur_varnames = YourTable.Properties.VariableNames;
for K = [10, 12:18]
thisvarname = cur_varnames{K};
thisval = YourTable.(thisvarname);
sq_varname = [thisvarname '_squared'];
cu_varname = [thisvarname '_cubed'];
YourTable.(sq_varname) = thisval .^ 2;
YourTable.(cu_varname) = thisval .^ 3;
end
Weitere Antworten (1)
Andrei Bobrov
am 10 Okt. 2017
Bearbeitet: Andrei Bobrov
am 10 Okt. 2017
Let T - your table.
ts = reshape(T{:,[10,12:18]}.^reshape(2:3,1,1,[]),size(T,1),[]);
newname = cellstr(reshape(string(T(:,[10,12:18]).Properties.VariableNames)'...
+'_'+["squares","cube"],1,[]));
Tout = [T,array2table(ts,'VariableNames',newname)];
1 Kommentar
Walter Roberson
am 11 Okt. 2017
(Note: the above code requires R2017a or later as it uses some properties of the new string data type)
Siehe auch
Kategorien
Mehr zu Tables 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!