Create new column in table based on another column value

41 次查看(过去 30 天)
I have a table with the list of User IDs and I used "Groupummary" to determine the number of occurences of each ID. My table T:
ID Occurrences
123 9
345 1
234 3
I need to create another column in the table to mark the ID as "unique" or not based on the number of occurrences.
Expected output:
ID Occurrences Unique
123 9 No
345 1 Yes
234 3 No
I'm using the following code, but I get error saying the number of rows should match the length of table:
if T.Occurences> 1
T.Unique = "No";
else
T.Unique = "Yes";
end
How do I check the length of table and fill the "Unique" column for each corresponding cell?

采纳的回答

Steven Lord
Steven Lord 2020-11-26
Let's start with a sample table.
T = table([123; 345; 234], [9; 1; 3], 'VariableNames', ["ID", "Occurrences"])
T = 3x2 table
ID Occurrences ___ ___________ 123 9 345 1 234 3
Fill in the Unique variable with a default value.
T.Unique = repmat("No", height(T), 1)
T = 3x3 table
ID Occurrences Unique ___ ___________ ______ 123 9 "No" 345 1 "No" 234 3 "No"
Change the value of the Unique variable based on the contents of the Occurrences variable.
T.Unique(T.Occurrences == 1) = "Yes"
T = 3x3 table
ID Occurrences Unique ___ ___________ ______ 123 9 "No" 345 1 "Yes" 234 3 "No"

更多回答(0 个)

类别

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