Eliminating duplicate columns in a table when appending
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Danielle Leblance
am 5 Feb. 2017
Kommentiert: nikhilthoppil
am 10 Apr. 2020
Hi,
I am importing data using readtable function. but when i append data using:
mytable=[mytable mytable2];
I receive an error: Duplicate variable name: 'ID' because every file contains the ID of the firm. I need the column ID only once. so how can i skip the ID column in mytable2 when i want to append?
0 Kommentare
Akzeptierte Antwort
the cyclist
am 5 Feb. 2017
Bearbeitet: the cyclist
am 5 Feb. 2017
% Set up some sample data
id = [1 2 3]';
firstName = {'Walter','Image','Star'}';
lastName = {'Roberson','Analyst','Strider'}';
tableFirst = table(id,firstName);
tableLast = table(id,lastName);
% Join the tables
tableFirstAndLast = join(tableFirst,tableLast)
FYI, there are many input options that govern how the variables in the two tables are retained when there are duplicates, so I suggest carefully reading the documentation (linked above) if this example doesn't do exactly what you want in your case.
6 Kommentare
the cyclist
am 5 Feb. 2017
The proximate cause is that some of the tables contain a row with NaN as the value of IDRSSD. Because one NaN is not equal to another NaN, MATLAB cannot join those rows.
One simple solution might be to replace those values of NaN with some other unique identifier. (It looks like setting IDRSSD=0 would work.)
You could also use the innerjoin() function, as I mentioned earlier, which will only use matching rows.
a2=innerjoin(t7,t8);
Or you could manually avoid that first row for those tables:
a2 = join(t7(2:end,:),t8(2:end,:))
but that seems pretty inelegant.
The approach to take will depend on exactly what output you want, and what is more readable and efficient.
nikhilthoppil
am 10 Apr. 2020
Can I use this function if I need to erge two tables having more that one columns in common?
Weitere Antworten (0)
Siehe auch
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!