Re: [程式] SAS 將變項數值重新排列
※ 引述《angiolini (angiolini)》之銘言:
: [軟體程式類別]:SAS
: [程式問題]:資料處理
: [軟體熟悉度]:
: 中(3個月到1年)
: [問題]:
: 假設有一筆dataset
: ID A B ID A B
: 1 0 0 1 1 0
: 2 1 0 2 1 0
: 3 1 1 --> 3 0 1
: 4 0 1 (A變項 4 0 1
: 5 1 2 隨機重排) 5 1 2
: 想針對A變項的數值重新隨機的排列,但其他變項均不動,
: 且A變項的0, 1 頻率也不改變,重複做100次(產生100個新datasets)
: 請問SAS程式該如何寫呢? 先謝謝各位高手了
%macro random(n);
%do i=1 %to &n;
data a&i;
set yourfile(drop=b);
rank=rannor(&i);
run;
proc sort data=a&i out=a&i(drop=rank);by rank;
run;
data a&i;
merge a&i yourfile(drop=a);
run;
%end;
%mend;
%random(100);
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.71.250.58
推
12/25 22:54, , 1F
12/25 22:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):