Merge two data sets/matrices from different sources

6 visualizzazioni (ultimi 30 giorni)
Hi all,
I am trying to merge two CSV files. Each have two columns:
- Column 1 is an independent variable (numerical)
- Column 2 is dependent (numerical)
Each file contains a different dependent variable, so the final result should be a matrix with 3 columns: independent variable, and one column each for the dependent variable from each CSV file. However, since the data comes from different sources, the independent variable is sampled at different numerical value. I am OK with numerically interpolating one of the CSV files so that its dependent values correspond to the independent values from the other files, but I haven't figured out how to do this.

Risposte (2)

dpb
dpb il 20 Ott 2017
  1. Read file 1 -- call it X1
  2. Read file 2 -- call it X2
  3. Interpolate column 1 of X1 to match X2
X1=importdata('file1'); % read first file
X2=importdata('file2'); % and second
dat=interp1(X2(:,1),X2(:,2),X1(:,1)); % interpolate 2nd to match first time data
X=[X1 dat[; % put together in one array
That's arbitrarily using the first file times; alternatively you could compare the first/last and choose which has the longer range for the basis or whatever other criterion for picking one over the other you wished.
  2 Commenti
Nimrod Sadeh
Nimrod Sadeh il 20 Ott 2017
Thank you for your answer. It is a bit simpler than what would work here, as sometimes the independent data do not event overlap.
What I ended doing is combing the independent data, sorting, cleaning duplicates, and interpolating the dependent.
Walter Roberson
Walter Roberson il 21 Ott 2017
Is there a natural interval for the independent interval?
Especially in the case of time units, sometimes easiest is to use timetables and synchronize

Accedi per commentare.


Image Analyst
Image Analyst il 21 Ott 2017
You can use readtable() and innerjoin() or outerjoin(). You forgot to attach the files so that's about all I can suggest.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by