renamevars - Rename variables in table or timetable - MATLAB (original) (raw)

Rename variables in table or timetable

Syntax

Description

T2 = renamevars([T1](#mw%5Feb6227ae-f262-4a75-b383-98fb32ed2153),[vars](#mw%5F65012b2a-2402-46b6-8552-6a412ec1b2d4),[newNames](#mw%5F5113dd04-5d01-41b9-bb58-3a6a940ba9dc)) renames the table or timetable variables specified by vars using the names specified by newNames.

example

Examples

collapse all

Read a table from a spreadsheet. The spreadsheet provides a name for each table variable. (Read the columns containing text into table variables that are string arrays.)

T = readtable('outages.csv','TextType','string')

T=1468×6 table Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________

"SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"   
"SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"   
"SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"   
"West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
"MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"   
"West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"         
"West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"
"West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"
"NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"           
"MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"
"SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"
"West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
"SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"   
"SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"   
"West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
"NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
  ⋮

Change the names of the variables Loss, OutageTime, and RestorationTime.

T = renamevars(T,["Loss","OutageTime","RestorationTime"], ... ["Total Cost","Start of Outage","Restoration"])

T=1468×6 table Region Start of Outage Total Cost Customers Restoration Cause
___________ ________________ __________ __________ ________________ _________________

"SouthWest"    2002-02-01 12:18      458.98      1.8202e+06    2002-02-07 16:50    "winter storm"   
"SouthEast"    2003-01-23 00:49      530.14      2.1204e+05                 NaT    "winter storm"   
"SouthEast"    2003-02-07 21:15       289.4      1.4294e+05    2003-02-17 08:14    "winter storm"   
"West"         2004-04-06 05:44      434.81      3.4037e+05    2004-04-06 06:10    "equipment fault"
"MidWest"      2002-03-16 06:18      186.44      2.1275e+05    2002-03-18 23:23    "severe storm"   
"West"         2003-06-18 02:49           0               0    2003-06-18 10:54    "attack"         
"West"         2004-06-20 14:39      231.29             NaN    2004-06-20 19:16    "equipment fault"
"West"         2002-06-06 19:28      311.86             NaN    2002-06-07 00:51    "equipment fault"
"NorthEast"    2003-07-16 16:23      239.93           49434    2003-07-17 01:12    "fire"           
"MidWest"      2004-09-27 11:09      286.72           66104    2004-09-27 16:37    "equipment fault"
"SouthEast"    2004-09-05 17:48      73.387           36073    2004-09-05 20:46    "equipment fault"
"West"         2004-05-21 21:45      159.99             NaN    2004-05-22 04:23    "equipment fault"
"SouthEast"    2002-09-01 18:22      95.917           36759    2002-09-01 19:12    "severe storm"   
"SouthEast"    2003-09-27 07:32         NaN      3.5517e+05    2003-10-04 07:02    "severe storm"   
"West"         2003-11-12 06:12      254.09      9.2429e+05    2003-11-17 02:04    "winter storm"   
"NorthEast"    2004-09-18 05:54           0               0                 NaT    "equipment fault"
  ⋮

Create a table with many variables by using the array2table function. Add names for the variables.

T = array2table(rand(5,5))

T=5×5 table Var1 Var2 Var3 Var4 Var5
_______ _______ _______ _______ ________

0.81472    0.09754    0.15761    0.14189     0.65574
0.90579     0.2785    0.97059    0.42176    0.035712
0.12699    0.54688    0.95717    0.91574     0.84913
0.91338    0.95751    0.48538    0.79221     0.93399
0.63236    0.96489    0.80028    0.95949     0.67874

Change the variable names so that they each start with "Reading" and end with a suffix. Determine how many variables T has by using the width function. Specify the table variables as a numeric array.

Convert the numeric array allVars to a string array. Create a 1-by-5 string array by appending each element to "Reading".

Rename all of the variables by using the renamevars function.

allVars = 1:width(T); newNames = append("Reading",string(allVars)); T = renamevars(T,allVars,newNames)

T=5×5 table Reading1 Reading2 Reading3 Reading4 Reading5 ________ ________ ________ ________ ________

0.81472     0.09754     0.15761     0.14189      0.65574
0.90579      0.2785     0.97059     0.42176     0.035712
0.12699     0.54688     0.95717     0.91574      0.84913
0.91338     0.95751     0.48538     0.79221      0.93399
0.63236     0.96489     0.80028     0.95949      0.67874

Input Arguments

collapse all

Input table, specified as a table or a timetable.

Variables in the input table or timetable, specified as a character vector, string array, cell array of character vectors, pattern scalar, numeric array, logical array, or subscript object.

You can specify vars as a subscript object that detects variables of a specified data type by using the vartype function.

Example: T = renamevars(T,'Var1','Location') changes the name of the table variable 'Var1' to'Location'.

Example: T = renamevars(T,["Var1","Var2"],["Latitude","Longitude"]) changes the names of two table variables.

Example: T = renamevars(T,1:width(T),newNames) renames all of the table variables. The width of a table, returned by the width function, equals the number of its variables.

Example: vars = vartype('numeric'); T = renamevars(T,vars,newNames) renames all of the numeric variables inT.

New names for variables, specified as a character vector, string array, or cell array of character vectors.

The number of names specified by newNames must match the number of variables specified by vars.

Tips

Extended Capabilities

expand all

Therenamevars function fully supports tall arrays. For more information, see Tall Arrays.

Version History

Introduced in R2020a