SAS中文论坛
标题:
请问:怎样做变量值的转换?
[打印本页]
作者:
shiyiming
时间:
2011-4-7 22:43
标题:
请问:怎样做变量值的转换?
请问,我想把数据的观测替换成一组得分值该用什么proc啊?比如我录入的是1,2,、、、160。我想转成5,6,2,、、、,5这样。SQL和iml都没用过。。。求推荐。。。
作者:
shiyiming
时间:
2011-4-7 23:53
标题:
Re: 请问:怎样做变量值的转换?
不是很清楚你的意思,你的得分转换有什么规则么?如果没有的话,用proc format吧可能
作者:
shiyiming
时间:
2011-4-8 10:07
标题:
Re: 请问:怎样做变量值的转换?
有确定的得分的只是我要从1到160都做一个变换,莫非用proc format只能打160行吗。。。
我想有把他们变成一个向量的形式 这样不就可以a向量= b向量了么?
但是SAS里就不会做这个操作了。。
作者:
Qiong
时间:
2011-4-8 12:28
标题:
Re: 请问:怎样做变量值的转换?
[code:jozdk2uv]
%macro vformat(from, to,length,formatname, formattype);
data vformat;
array a(&length.) (&from);
array b(&length.) (&to);
do i=1 to &length.;
informat start end label $40. fmtname $32. type $1.;
start=a(i);
end=a(i);
label=b(i);
fmtname="&formatname.";
type="&formattype";
output;
end;
keep start end label fmtname type;
run;
proc format library=work cntlin= vformat;run;
proc datasets;delete vformat;quit;
%mend;
%let from=1 2 3 4 ;
%let to= 11 22 33 44 ;
%let length=4;
%vformat(&from.,&to.,&length.,score, n);
data vv;
informat v1-v2 ;
format v1-v2 score.;
input v1-v2 ;
cards;
1 2
3 4
;
run;
proc print;
run;[/code:jozdk2uv]
作者:
shiyiming
时间:
2011-4-10 01:33
标题:
Re: 请问:怎样做变量值的转换?
佩服佩服, vicky1020 mm的答案收藏了。
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2