merge datset one to many

4 views (last 30 days)
Qifan
Qifan on 29 Jul 2014
Commented: Qifan on 29 Jul 2014
Help~
I have a panel data, for example:
A=[firm1_1970, firm1_1971,...firm1_1990, firm2_1970, firm2_1971,...firm2_1985,...,firm100_1995].
As you can see, the dataset has many years, and in each year there are observations of a number of firms.
Now I have another dataset which is the interest rate for each year, for example:
B=[r_1970, r_1971, r1972,..., r_1990].
I need to merge the two datset, but the join function seems not work because the 'Keys' (which is year) is not unique in A (the panel data). Is there any way to make such "one-to-many" merge? Many thanks.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 29 Jul 2014
A={'firm1_1970', 'firm1_1971','firm1_1990', 'firm2_1970', 'firm2_1971','firm2_1985','firm100_1995'}
B=regexp(A,'(?<=_)\d+','match')
out=cellfun(@(x) strcat('r_',x{1}),B,'un',0)

More Answers (0)

Categories

Find more on Datafeed Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!