How to merge or combine 2 datasets with different number of rows and different name of columns
4 views (last 30 days)
Show older comments

2 Comments
Raju
on 6 May 2022
Hi Ngoc,
You can make use of the table & joindata commands. Below is the similar example which you can useto achieve the same. Make sure you maintain the common id to join the data, In this case 151.04 & 151.08 have the same id 1 & 2 in both the table before joining it
table1=table([1;2;3],[151.04;151.08;151.11], [3.2634e+05;1.6518e+05;1.1548e+05], 'VariableNames', ["id", "mz", "sp58"]);
table2=table([0;1;2;4],[150.09;151.04;151.08;151.09], [217504.6;122152.8;561438.7;88868.3], 'VariableNames', ["id", "mz", "sp59"]);
table12 = joindata(table2,table1, 'Keys', ["id", "mz"]);
Thanks & Regards,
Raju
Answers (1)
Tejas
on 24 Feb 2025
Hello Ngoc,
To merge two tables that share a common column name, use the 'outerjoin' function. Here is a sample code snippet demonstrating how to use the function:
table1 = table([151.05; 151.08; 151.11], [3.2634e+05; 1.6518e+05; 1.1548e+05], ...
'VariableNames', {'mz', 'sp58'});
table2 = table([150.09; 151.04; 151.08; 151.09], [2571014.6; 122153.8; 561438.7; 88868.3], ...
'VariableNames', {'mz', 'sp59'});
mergedTable = outerjoin(table1, table2, 'Keys', 'mz', 'MergeKeys', true, 'Type', 'full');
disp(mergedTable);
For more information on the 'outerjoin' function, use the command below to access the documentation:
>> web(fullfile(docroot, "matlab/ref/table.outerjoin.html"))
0 Comments
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!