add new row to table with missing values
Show older comments
How can I add a new row to an existing table with missing values?
For illustration, I define a table T with 4 variables: name, city, age, height.
V.name = "Ann";
V.city = "Berlin";
V.age = 24;
V.height = 172;
T = struct2table(V);
Now, I want to add another row to this table where the new row only contains values for 3 of the variables (out of 4).
V2.name = "Luka";
V2.city = "Tokyo";
V2.age = 30;
T = [T; struct2table(V2)];
This leads to the following error:
"All tables being vertically concatenated must have the same number of variables."
What's the best practice for such situations?
Answers (1)
V.name = "Ann";
V.city = "Berlin";
V.age = 24;
V.height = 172;
T1 = struct2table(V);
V2.name = "Luka";
V2.city = "Tokyo";
V2.age = 30;
T2 = struct2table(V2);
T2.height = NaN ;
T = [T1;T2]
4 Comments
Amirali Kamalian
on 18 Jan 2022
KSSV
on 18 Jan 2022
Do you have all the data in a structure? How is your data?
Amirali Kamalian
on 18 Jan 2022
YEs exactly. That makes your life very easy.
V = struct ;
V(1).name = "Ann";
V(1).city = "Berlin";
V(1).age = 24;
V(1).height = 172;
V(2).name = "Luka";
V(2).city = "Tokyo";
V(2).age = 30;
T = struct2table(V)
Categories
Find more on Data Type Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!