Rename and Describe Table Variables - MATLAB & Simulink (2024)

Open Live Script

Tables, which hold data in column-oriented variables, provide properties that can store more descriptive information about the data. For instance, the variable names are stored in a property, so if you want to rename variables to be more descriptive, you can change a table property to do so. This example shows how to access and change table properties, including the names, descriptions, and units of table variables. The example also shows how to produce a table summary to view these properties with statistics about the data in the table variables.

Create Table from Sample Data

Create a table using a subset of the sample patient data from the file patients.mat.

load patients.matBloodPressure = [Systolic Diastolic];LastName = string(LastName);T = table(LastName,Age,Height,Weight,Smoker,BloodPressure)
T=100×6 table LastName Age Height Weight Smoker BloodPressure __________ ___ ______ ______ ______ _____________ "Smith" 38 71 176 true 124 93 "Johnson" 43 69 163 false 109 77 "Williams" 38 64 131 false 125 83 "Jones" 40 67 133 false 117 75 "Brown" 49 64 119 false 122 80 "Davis" 46 68 142 false 121 70 "Miller" 33 64 142 true 130 88 "Wilson" 40 68 180 false 115 82 "Moore" 28 68 183 false 115 78 "Taylor" 31 66 132 false 118 86 "Anderson" 45 68 128 false 114 77 "Thomas" 42 66 137 false 115 68 "Jackson" 25 71 174 false 127 74 "White" 39 72 202 true 130 95 "Harris" 36 65 129 false 114 79 "Martin" 48 71 181 true 130 92 ⋮

Access Table Properties

A table has properties that you can use to describe the table as a whole as well as its individual variables.

A table stores its properties in a Properties object. To access the properties of a table, use dot notation.

T.Properties
ans = TableProperties with properties: Description: '' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'LastName' 'Age' 'Height' 'Weight' 'Smoker' 'BloodPressure'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

You can also use dot notation to access a specific property. For example, access the property that stores the array of variable names.

T.Properties.VariableNames

Rename Table Variables

Variable names are most useful when they are descriptive. So, you might want to rename variables in your table.

The recommended way to rename variables is to use the renamevars function. For example, rename the LastName variable of T to PatientName.

T = renamevars(T,"LastName","PatientName")
T=100×6 table PatientName Age Height Weight Smoker BloodPressure ___________ ___ ______ ______ ______ _____________ "Smith" 38 71 176 true 124 93 "Johnson" 43 69 163 false 109 77 "Williams" 38 64 131 false 125 83 "Jones" 40 67 133 false 117 75 "Brown" 49 64 119 false 122 80 "Davis" 46 68 142 false 121 70 "Miller" 33 64 142 true 130 88 "Wilson" 40 68 180 false 115 82 "Moore" 28 68 183 false 115 78 "Taylor" 31 66 132 false 118 86 "Anderson" 45 68 128 false 114 77 "Thomas" 42 66 137 false 115 68 "Jackson" 25 71 174 false 127 74 "White" 39 72 202 true 130 95 "Harris" 36 65 129 false 114 79 "Martin" 48 71 181 true 130 92 ⋮

Another way to rename variables is to access the T.Properties.VariableNames property. For example, rename the BloodPressure variable.

T.Properties.VariableNames("BloodPressure") = "BP"
T=100×6 table PatientName Age Height Weight Smoker BP ___________ ___ ______ ______ ______ __________ "Smith" 38 71 176 true 124 93 "Johnson" 43 69 163 false 109 77 "Williams" 38 64 131 false 125 83 "Jones" 40 67 133 false 117 75 "Brown" 49 64 119 false 122 80 "Davis" 46 68 142 false 121 70 "Miller" 33 64 142 true 130 88 "Wilson" 40 68 180 false 115 82 "Moore" 28 68 183 false 115 78 "Taylor" 31 66 132 false 118 86 "Anderson" 45 68 128 false 114 77 "Thomas" 42 66 137 false 115 68 "Jackson" 25 71 174 false 127 74 "White" 39 72 202 true 130 95 "Harris" 36 65 129 false 114 79 "Martin" 48 71 181 true 130 92 ⋮

Change Other Properties

To change any other table property, you must use dot notation. In general, you can use the other properties to annotate the table with information that describes it or the variables.

For example, add a description for the table as a whole. Assign a string to the Description property. Also, add units that are associated with the table variables. Assign a string array of the units to the VariableUnits property. While the property stores a cell array of character vectors, you can assign values to it using a string array. An individual empty string within the string array indicates that the corresponding variable does not have units.

T.Properties.Description = "Table of Data for 100 Patients";T.Properties.VariableUnits = ["","yr","in","lbs","","mm Hg"];T.Properties
ans = TableProperties with properties: Description: 'Table of Data for 100 Patients' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'PatientName' 'Age' 'Height' 'Weight' 'Smoker' 'BP'} VariableDescriptions: {} VariableUnits: {'' 'yr' 'in' 'lbs' '' 'mm Hg'} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

You can also assign values by indexing into properties. For example, add descriptions for the PatientName and BP variables only. You can index by name or by the position a variable has in the table.

T.Properties.VariableDescriptions(1) = "Patient last name";T.Properties.VariableDescriptions("BP") = "Systolic/Diastolic";T.Properties
ans = TableProperties with properties: Description: 'Table of Data for 100 Patients' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'PatientName' 'Age' 'Height' 'Weight' 'Smoker' 'BP'} VariableDescriptions: {'Patient last name' '' '' '' '' 'Systolic/Diastolic'} VariableUnits: {'' 'yr' 'in' 'lbs' '' 'mm Hg'} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

Delete Property Values

You cannot delete table properties. However, you can delete the values stored in table properties.

Remove the description for the LastName variable. The descriptions are text, so remove it by assigning an empty string as the new description.

T.Properties.VariableDescriptions(1) = "";T.Properties
ans = TableProperties with properties: Description: 'Table of Data for 100 Patients' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'PatientName' 'Age' 'Height' 'Weight' 'Smoker' 'BP'} VariableDescriptions: {'' '' '' '' '' 'Systolic/Diastolic'} VariableUnits: {'' 'yr' 'in' 'lbs' '' 'mm Hg'} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

Remove all the descriptions in VariableDescriptions. To remove all the values stored in a table property, assign an empty array.

  • If the property stores text in a cell array, assign {}.

  • If the property stores numeric or other types of values in an array, assign [].

T.Properties.VariableDescriptions = {};T.Properties
ans = TableProperties with properties: Description: 'Table of Data for 100 Patients' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'PatientName' 'Age' 'Height' 'Weight' 'Smoker' 'BP'} VariableDescriptions: {} VariableUnits: {'' 'yr' 'in' 'lbs' '' 'mm Hg'} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

For the next section, add variable descriptions back to T.

T.Properties.VariableDescriptions = ["Patient name","","","","True if patient smokes","Systolic and diastolic readings"];T.Properties
ans = TableProperties with properties: Description: 'Table of Data for 100 Patients' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {'PatientName' 'Age' 'Height' 'Weight' 'Smoker' 'BP'} VariableDescriptions: {'Patient name' '' '' '' 'True if patient smokes' 'Systolic and diastolic readings'} VariableUnits: {'' 'yr' 'in' 'lbs' '' 'mm Hg'} VariableContinuity: [] RowNames: {} CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.

Summarize Table Variable Data and Properties

You can produce a table summary to view its properties with statistics about each variable. To produce this summary, use the summary function. The summary displays the description of the table and the descriptions and units for each variable. The summary also displays statistics for table variables whose data types support the required calculations.

summary(T)
Description: Table of Data for 100 PatientsVariables: PatientName: 100x1 string Properties: Description: Patient name Age: 100x1 double Properties: Units: yr Values: Min 25 Median 39 Max 50 Height: 100x1 double Properties: Units: in Values: Min 60 Median 67 Max 72 Weight: 100x1 double Properties: Units: lbs Values: Min 111 Median 142.5 Max 202 Smoker: 100x1 logical Properties: Description: True if patient smokes Values: True 34 False 66 BP: 100x2 double Properties: Units: mm Hg Description: Systolic and diastolic readings Values: Column 1 Column 2 ________ ________ Min 109 68 Median 122 81.5 Max 138 99 

You can also store the summary in a structure instead of displaying it.

S = summary(T)
S = struct with fields: PatientName: [1x1 struct] Age: [1x1 struct] Height: [1x1 struct] Weight: [1x1 struct] Smoker: [1x1 struct] BP: [1x1 struct]

Each field of S contains a description of a variable of T.

S.BP
ans = struct with fields: Size: [100 2] Type: 'double' Description: 'Systolic and diastolic readings' Units: 'mm Hg' Continuity: [] Min: [109 68] Median: [122 81.5000] Max: [138 99] NumMissing: [0 0]

See Also

table | renamevars | summary

Related Topics

  • Access Data in Tables
  • Add, Delete, and Rearrange Table Variables
  • Add Custom Properties to Tables and Timetables
  • Clean Messy and Missing Data in Tables
  • Calculations When Tables Have Both Numeric and Nonnumeric Data
Rename and Describe Table Variables
- MATLAB & Simulink (2024)
Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 6191

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.