Output of one table as a value into a new table
2 次查看(过去 30 天)
显示 更早的评论
I have a table, I call it TableA, with many rows and columns (each row represents a separate patient). I created a new column that defines to which group a patient belongs, consisting of 32 groups. This column is called 'group'.
I now want to calculate the amount of patients per group, and other demographic values such as average age (these are all known and part of TableA). I started with the amount of patiens per group, and I want to create a loop that generates the number of patients per group (for all 32 groups) and put the output into a new table, TableB.
I already created TableB which has 32 columns (one for each group), and several rows for all the information that I want to collect per group.
I tried to make a loop where I define the number of groups and want to index over each group, where the output is stored in the new TableB.
for i = 1:length(columnnames) % columnnames is the names that I gave to the columns in TableB, when I run the part length(columnames) it gives me 32 as it should
j = i + 1;
TableB(1,:) = sum(TableA.group(j));
end
I get the error 'Right hand side of an assignment into a table must be another table or a cell array.' and I don't precisely know how to fix this. TableA and TableB are both tables. Anybody that has a suggestion?
Thanks in advance!
0 个评论
采纳的回答
VBBV
2022-11-17
TableB.group(j-1,:) = sum(TableA.group(j));
As the error states use table as above instead of array
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!