Clear Filters
Clear Filters

Append Row to bottom of table

11 views (last 30 days)
Theodore
Theodore on 29 Mar 2023
Commented: Peter Perkins on 5 Apr 2023
I'd like to append a to a Nx4 table:
Name Amt Price Change
Pears 5 $1 $0.50
Apples 10 $1.5 $0.25
Such that it will add a row with the Name, but a '-' dash for the other three, which will be added with other logic.
For example adding Oranges would change the table to:
Name Amt Price Change
Pears 5 $1 $0.50
Apples 10 $1.5 $0.25
Oranges - - -
Thank you!

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 29 Mar 2023
Edited: Dyuman Joshi on 29 Mar 2023
One of the ways to achieve the output you mentioned is to use string/cell/categorical data type for the variables as it is not possible to denote '-' i.e. a dash in numeric data type
%Categorical
Name = categorical(["Pears"; "Apples"]);
Amt = categorical(["5";"10"]);
Price = categorical(["$1";"$1.5"]);
Change = categorical(["$0.5";"$0.25"]);
y = table(Name,Amt,Price,Change)
y = 2×4 table
Name Amt Price Change ______ ___ _____ ______ Pears 5 $1 $0.5 Apples 10 $1.5 $0.25
var = categorical("-");
y(3,:) = {categorical("Orange"),var, var, var}
y = 3×4 table
Name Amt Price Change ______ ___ _____ ______ Pears 5 $1 $0.5 Apples 10 $1.5 $0.25 Orange - - -
  2 Comments
Walter Roberson
Walter Roberson on 29 Mar 2023
Right.
To emphasize slightly: numeric variables cannot be set to be blank or to dash : if you need those output, you need to use one of char or string or categorical.
Peter Perkins
Peter Perkins on 5 Apr 2023
Or to display with dollar signs, for that matter.
Teodore, to get what you are looking for, I recommend writing your own pretty-print function that does exactly what you need. That's kind of what Dyuman has done. Table display just isn't intended for that kind of output.

Sign in to comment.

More Answers (0)

Categories

Find more on Financial Data in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!