2016年3月23日 星期三

產生虛擬變數(dummy variable)

  • 快速生成虛擬變數(dummy variable) 

data test;
 input age aaa y;
datalines;
1 1 1
2 2 2
3 3 3
1 4 3
2 5 3
5 5 3
4 5 3
3 1 3
;
run;

%dummy(mydata = test, outdumydata = test2, classvar = age aaa, nclassvar = age, mergedata = test34)

%macro dummy(mydata, outdumydata, classvar, nclassvar, mergedata);
/*================================================================================*/
/*%let mydata = test;*/
/*%let outdumydata = test2;*/
/*%let classvar = age aaa;*/
/*%let nclassvar = age;*/
/*%let mergedata = test3;*/
/*================================================================================*/

proc logistic data = &mydata outdesign = &outdumydata outdesignonly;
    class &classvar / param = glm;
    model &nclassvar = &classvar / noint;
run;
quit;

/*proc print data = &outdumydata noobs;*/
/*run;*/

data &mergedata;
 merge &mydata &outdumydata;
run;
%mend;
原始資料 要將 age 與 aaa 生成虛擬變數
test2 虛擬變數

原始資料與虛擬變數合併 merge沒有使用by 表示 test第n筆與test2第n筆合併

%dummy(mydata = 原始資料集, outdumydata = 輸出虛擬變數資料集, classvar = 要生成虛擬變數的變數(可多個), nclassvar = 第一個要生成虛擬變數的變數, mergedata = 輸出資料集)

Related Posts:

  • Logistic Regression%macro Deviance_table(data, y, n, old_x) ; /********************************************************************************************************* … Read More
  • sas macro logistic regression real adaboostdata comb_data; length comb_x $ 100; input comb_x $ @@; /*輸入所有x變數名稱,方便隨機抽取,放入不同模型裡*/ datalines; area da hfs i0 pa500 ; run; %macro logistic_real_ad… Read More
  • SAS macro Ensemble Learning 以bootstrap方法產生多個資料集, 分別為每個資料集建立linear regression模型, 整合多個模型降低mse。 作者:jimmy 日期:2017/3/9 %macro my_bootstrap(data = , b = , obs =); %do bootstrap_i… Read More
  • proc gtile sas help檔 內容 goptions reset = all device = java noborder; proc gtile data = sashelp.shoes; tile stores tileby = (region subsidiary) / colorvar =… Read More
  • 將SAS報表匯出至外部檔案 可參考這篇(連結) PDF ods pdf file="C:\Users\139869\Desktop\深入解析SAS\test.pdf"; proc print data = sashelp.class; run; ods pdf close; ods pdf fil… Read More

0 意見:

張貼留言