Re: [程式] sas月資料和季資料合併
如果你可以確定兩邊的資料都沒有漏而且日期100%吻合的話
也就是說資料a每一年的的每個月份都有
資料b每一年的每一季都有
(中間某一筆資料的comnam或asset有missing沒差)
而且頭尾日期都一樣
(舉例來說
資料a從1970一月到2009十二月
資料b從1970第一季到2009第四季)
如果這兩個條件成立的話
一個比較偷懶的做法是
把b複製三份然後sort然後跟a merge
data b_new;
set b b b;
run;
proc sort data=b_new;
by cusip datafqtr;
run;
data final;
merge a b_new;
run;
這樣就行了
不過千萬記住
這個方法是建構在你的資料足夠完整有規律的條件之下的偷吃步!!
資料如果沒有那麼完整的話
還是乖乖的對資料分別做出「季」的資訊再joint起來
※ 引述《nabasico ( 走吧)》之銘言:
: 不好意思 我是sas的新手 最近在整理資料遇到一個問題
: 因一直找不出解決方式 故煩請各位高手能幫個忙!!
: 資料a 資料b
: cusip date comnam ret cusip datafqtr commn asset
: 0001 19700130 aaa -2.96 0001 1970Q1 aaa 29.33
: 0001 19700227 aaa -8.62 0001 1970Q2 aaa 32.44
: 0001 19700331 aaa -16.42 0001 1970Q3 aaa 35.15
: . . . . . . . .
: . . . . . . . .
: . . . . . . . .
: 0002 19700130 bbb 0.88 0002 1970Q1 bbb 214.56
: 0002 19700227 bbb 1.76 0002 1971Q2 bbb 220.31
: 0002 19700331 bbb 3.90 . . . .
: . . . . . . . .
: . . . . . . . .
: . . . . 0003 1971Q1 ccc 7.51
: 0003 19710129 ccc 8.92 0003 1971Q2 ccc 8.36
: 0003 19710226 ccc 11.81
: 0003 19710331 ccc -3.25
: 現在想要合併成以下資料
: cusip date comman ret datafqtr asset
: 0001 19700130 aaa -2.96 1970Q1 29.33
: 0001 19700227 aaa -8.62 1970Q1 29.33
: 0001 19700331 aaa -16.42 1970Q1 29.33
: 以下以此類推
: 接著小弟翻了書寫了一些CODE 但都有錯誤發生
: DM' OUTPUT; CLEAR; LOG; CLEAR' ;
: libname sas "D:\alldata";
: data sas.bb;
: set sas.b;
: proc sort;
: by cusip date;
: run;
: data sas.aa;
: set sas.a;
: informat date $6.;
: (*WARNING: Variable DATE has already been defined as numeric.)
: input DATE CUSIP COMNAM RET;
: run;
: proc sort;
: by cusip date;
: run;
: data sas.merge_after;
: set sas.test sas.compustat;
: merge sas.test(in=a) sas.compustat(in=b);
: by cusip date;
: if a and b;
: run;
: 然後第二段改成
: proc format library=sas;
: picture yyq LOW-HIGH = '999999';
: data sas.test;
: set sas.test;
: format date yyq.;
: put date = $6.;
: proc sort;
: by cusip date;
: run;
: (*ERROR: Variable DATE has been defined as both character and numeric.)
: 基本上資料a的日期為數字格式 而資料b的季為文字格式 一直無法合併
: 可以請教高手們應該如何修改? 感謝不盡~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.40.59
→
02/06 20:00, , 1F
02/06 20:00, 1F
→
02/06 20:04, , 2F
02/06 20:04, 2F
→
02/06 20:04, , 3F
02/06 20:04, 3F
→
02/06 20:08, , 4F
02/06 20:08, 4F
推
02/06 20:17, , 5F
02/06 20:17, 5F
→
02/06 20:19, , 6F
02/06 20:19, 6F
→
02/06 20:20, , 7F
02/06 20:20, 7F
推
02/06 23:31, , 8F
02/06 23:31, 8F
推
02/06 23:36, , 9F
02/06 23:36, 9F
→
02/06 23:37, , 10F
02/06 23:37, 10F
→
01/02 15:03,
5年前
, 11F
01/02 15:03, 11F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):