我面临着合并数据集的问题,你们可能会非常直接地看到它。
好的,情况就是这样:我有两个数据集,一个是关于共同基金股票持有(基金在特定日期持有多少股票),另一个是股票价格(我首先对持有数据进行排序以获得公司名称列表并上传到CRSP以获取整个持有数据期间所有公司的价格数据。我希望特定日期的特定股票的股票价格与当天持有的相应股票相匹配。例如:
数据集1:
- Date----Stock----Holding
- 01/01---Apple----100
- 02/01---Apple----150
- 02/01---Micro----200
- 03/01---Apple----150
- 03/01---Face-----100
- 04/01---Face-----100
数据集2 :(我使用sas获取上述股票列表,苹果微软Facebook将从2013年1月1日至2013年4月1日下载所有每日价格)
- Date---Stock---Prices
- 01/01--Apple---101
- 02/01--Apple---102
- 03/01--Apple---105
- 04/01--Apple---101
- 01/01--Micro---50
- 02/01--Micro---51
- 03/01--Micro---52
- 04/01--Micro---51
- 01/01--Face----15
- 02/01--Face----17
- 03/01--Face----18
- 04/01--Face----14
我想要的是:
数据集合并
- Date----Stock----Holding----Prices
- 01/01---Apple----100--------101
- 02/01---Apple----150--------102
- 02/01---Micro----200--------51
- 03/01---Apple----150--------105
- 03/01---Face-----100--------18
- 04/01---Face-----100--------14
这是我按照日期cusip_8(公司名称)对数据集进行排序后在Sas中尝试的内容:
data sample.sample_b_cusip_price;
merge sample.sample_b_cabot(in = A ) sample.sample_b_crsp(in = B);
by date cusip_8;
if A and B;
run;
以下是结果(失败:0合并数据集的观察结果)
34 data sample.sample_b_cusip_price;
35
36 merge sample.sample_b_cabot(in = A ) sample.sample_b_crsp(in = B);
37
38 by date cusip_8;
39
40 if A and B;
41
42 run;
NOTE:There were 87660 observations read from the data set SAMPLE.SAMPLE_B_CABOT.
NOTE:There were 238517 observations read from the data set SAMPLE.SAMPLE_B_CRSP.
NOTE:The data set SAMPLE.SAMPLE_B_CUSIP_PRICE has 0 observations and 4 variables.
NOTE:DATA statement used (Total process time):
real time 0.26 seconds
cpu time 0.26 second
能否请您给我建议?