Adding duplicate values based on table variable names

I have a large set of tables, separated by date, with geographical coordinates (X_LOC and Y_LOC) and user defined fields to visualize ('CustInt', for example).
My mission is to combine those tables, and if exact X_LOC and Y_LOC duplicates exist, add the values together. Though, this may not be a necessity as the precision of the coordinates is in the 0.000001 range. So for example:
File 1: File 2:
X_LOC Y_LOC CustInt {... other fields} X_LOC Y_LOC CustInt
12.100 13.100 20 ... 12.100 13.11 20
Combined:
X_LOC Y_LOC CustInt
12.100 13.100 20
12.100 13.11 20
The only thing to keep in mind is that the files are large (thousands * 31 variables) and my idea of iterating through duplicates could increase complexity exponentionally.
Would a simple outerjoin() be helpful? Is there any way of combining only columns that you want for two tables?
Thanks in advance.

댓글 수: 4

In my opinion using the "ismember" function mybe helpful to determine the matching rows in file1 and file2 and adding the missing entries.
[file1, file2] = ismember(file1.X_LOC, file2.X_LOC);
file1(indx1,'X_LOC') = file2(indx2(indx1),'X_LOC');
Then you can remove unwanted columns.
@Behzad Navidi: your code overwrites file1 and file2, and does not define indx1 nor indx2. Did you mean?:
[indx1, indx2] = ismember(file1.X_LOC, file2.X_LOC);
BN
BN 2020년 2월 9일
편집: BN 2020년 2월 9일
Oh, I'm sorry my bad. Yes, I thought he could think about ismember. Thank you.
ismembertol seems more realistic than ismember for this purpose

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

질문:

2019년 5월 11일

댓글:

2020년 2월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by