Add lines to a struct

24 次查看(过去 30 天)
Bruce Victor
Bruce Victor 2021-12-27
评论: Stephen23 2021-12-27
I have a struct where one of the columns is the PatientID that appears like this 'P00000001' and I want to add more patients with a diferent PacientID but with the same structer ('P00000001' - a string with P and 8 numbers) how do I do?
  2 个评论
Matt J
Matt J 2021-12-27
编辑:Matt J 2021-12-27
structs do not have "columns". Are you sure you don't mean a table?
Stephen23
Stephen23 2021-12-27
"structs do not have "columns""
This structure has three columns:
S = struct('A',{1,2,3;4,5,6})
S = 2×3 struct array with fields:
A
size(S,2)
ans = 3

请先登录,再进行评论。

回答(1 个)

Adam Danz
Adam Danz 2021-12-27
编辑:Adam Danz 2021-12-27
s = struct();
s.(sprintf('P%08.0f',1)) = 'Baetriz';
s.(sprintf('P%08.0f',2)) = 'Adam';
s.(sprintf('P%08.0f',3)) = 'Matlab'
s = struct with fields:
P00000001: 'Baetriz' P00000002: 'Adam' P00000003: 'Matlab'
Or if you're refering to tables,
T = table();
T.(sprintf('P%08.0f',1)) = 'Baetriz';
T.(sprintf('P%08.0f',2)) = 'Adam';
T.(sprintf('P%08.0f',3)) = 'Matlab'
T = 1×3 table
P00000001 P00000002 P00000003 _________ _________ _________ Baetriz Adam Matlab
  2 个评论
Steven Lord
Steven Lord 2021-12-27
If you're using a table you probably want each patient to be a row of data, with the IDs as the RowNames.
t = table("Baetriz", 'VariableNames', "Name", 'RowNames', "P00000001")
t = table
Name _________ P00000001 "Baetriz"
t{sprintf("P%08d", 2), 'Name'} = "Steve"
t = 2×1 table
Name _________ P00000001 "Baetriz" P00000002 "Steve"
n = t{'P00000001', 'Name'}
n = "Baetriz"
Adam Danz
Adam Danz 2021-12-27
Or if you want to add row names all at once,
names = ["Baetriz";"Steve";"Adam"]
names = 3×1 string array
"Baetriz" "Steve" "Adam"
rownames = compose('P%08d',1:numel(names))
rownames = 1×3 cell array
{'P00000001'} {'P00000002'} {'P00000003'}
T = table(names, 'RowNames', rownames)
T = 3×1 table
names _________ P00000001 "Baetriz" P00000002 "Steve" P00000003 "Adam"

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by