Create new column in table based on another column value

41 views (last 30 days)
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?

Accepted Answer

Steven Lord
Steven Lord on 26 Nov 2020
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"

More Answers (0)

Categories

Find more on Tables 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!