merge datset one to many

1 次查看(过去 30 天)
Qifan
Qifan 2014-7-29
评论: Qifan 2014-7-29
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-7-29
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)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Manage Products 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by