Create new column in table based on another column value

37 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Steven Lord
Steven Lord am 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"

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by