merging two structures using join()

6 views (last 30 days)
Sam
Sam on 20 Feb 2013
I've imported two xlsx files via importdata() and I'm trying to merge them with join() using a common key 'PitID'. The imported structures each contain data, textdata, and colheaders objects. In my case all colheaders are variable names, while data and textdata contain their respective values.
Help?
>> pits = importdata('E:\Sedgwick\Data\GPS\pits.xlsx') field = importdata('E:\Sedgwick\Data\Field\field.xlsx')
pits =
data: [99x7 double]
textdata: {100x7 cell}
colheaders: {'Latitude' 'Longitude' 'Pit_ID' 'GPS_Height' 'Datafile' 'GPS_Date' 'samp_status'}
field =
data: [12x22 double]
textdata: {13x22 cell}
colheaders: {1x22 cell}
>> %% Confirm structure headers pits.colheaders field.colheaders
ans =
'Latitude' 'Longitude' 'Pit_ID' 'GPS_Height' 'Datafile' 'GPS_Date' 'samp_status'
ans =
Columns 1 through 10
'PitID' 'labID' 'date' 'hor_top' 'hor_bot' 'genetic' 'primgen' 'subgen' 'colortype' 'hue'
Columns 11 through 20
'value' 'chroma' 'grade' 'size' 'type' '2grade' '2size' '2type' 'rootquan' 'rootsize'
Columns 21 through 22
'roottype' 'co2'
>> data = join(pits,field,'PitID'); Undefined function 'join' for input arguments of type 'struct'.

Accepted Answer

Jan
Jan on 20 Feb 2013
Edited: Jan on 20 Feb 2013
Do you mean join, which is part of the Statistics Toolbox and operates on dataset arrays?
  3 Comments
Jan
Jan on 21 Feb 2013
You can use the dataset command to import data from an XLSX file also, and then join works.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!