Add Numbers to the End of a Table

8 次查看(过去 30 天)
I have a table, sampled_x_coord_table. I also have a value, participant_number, that corresponds to a number 1-17, the participant_number is set at the top of my script.
I want to add the participant number to the end of the name of the table. I feel like there's a really obvious solution that I am not seeing.
Thank you!
Spencer
  2 个评论
Adam Danz
Adam Danz 2021-6-1
> I want to add the participant number to the end of the name of the table
It's unclear whether you want to add a new row to the table or add the number to the end of an existing cell within the table. Both interpretations require more information such as how you'd like to fill in the other cells if you're adding a new row. I picture is worth 1000 words.
Spencer Ferris
Spencer Ferris 2021-6-2
Ah sorry, I see how that wasn't clear. I mean that I want to add the participant number to the variable name of the table. For example if the participant number is 10, I want to make it so that the name of the table is sample_x_coord_table_10.

请先登录,再进行评论。

回答(2 个)

Star Strider
Star Strider 2021-6-2
Possibly —
T1 = table(rand(5,1),rand(5,1), 'VariableNames',{'sample_x_coord_table','sample_y_coord_table'})
T1 = 5×2 table
sample_x_coord_table sample_y_coord_table ____________________ ____________________ 0.59047 0.29522 0.1319 0.62087 0.1479 0.91926 0.44163 0.04417 0.99606 0.49544
VN = T1.Properties.VariableNames;
compfcn = @(n) compose(['%s_',num2str(n)],string(VN));
ParticipantNr = 10;
T1.Properties.VariableNames = compfcn(ParticipantNr)
T1 = 5×2 table
sample_x_coord_table_10 sample_y_coord_table_10 _______________________ _______________________ 0.59047 0.29522 0.1319 0.62087 0.1479 0.91926 0.44163 0.04417 0.99606 0.49544
.

Adam Danz
Adam Danz 2021-6-2
> if the participant number is 10, I want to make it so that the name of the table is sample_x_coord_table_10.
Your describing dynamic variable naming and this is bad idea ( why? ).
Instead, you can store the participant number in the table's description property.
sample_x_coord_table = table(__);
sample_x_coord_table.Properties.Description = 'participant 10';
Or combine the tables into a cell array and use the index as participant number
Data{10} = sample_x_coord_table;
You could also add a participant number column to all tables so the tables can be concatenated.

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by