作者tew (咖啡王子)
站内Statistics
标题Re: [程式] SAS 将变项数值重新排列
时间Tue Dec 25 20:39:42 2012
※ 引述《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
1F:推 angiolini:成功了,超级感谢T大的帮忙^^ 12/25 22:54