How to add variables to a table that are products of other variables
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
T4H14
le 10 Oct 2017
Commenté : Walter Roberson
le 11 Oct 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 commentaires
Réponse acceptée
Walter Roberson
le 10 Oct 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
Plus de réponses (1)
Andrei Bobrov
le 10 Oct 2017
Modifié(e) : Andrei Bobrov
le 10 Oct 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 commentaire
Walter Roberson
le 11 Oct 2017
(Note: the above code requires R2017a or later as it uses some properties of the new string data type)
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!