SAS中文论坛
标题:
求助:如何根据变量的值生成新变量?
[打印本页]
作者:
shiyiming
时间:
2012-4-5 15:55
标题:
求助:如何根据变量的值生成新变量?
[code:1o76xtxa]data temp;
input x $20.;
cards;
HPV51 HPV52 HPV56
HPV51
HPV45
HPV39 HPV68
HPV39 HPV52 HPV82
HPV39 HPV52
HPV39 HPV51
HPV39
HPV33
HPV33
HPV33 HPV68
HPV33 HPV53
HPV33 HPV52
HPV33 HPV52
HPV33
HPV31
HPV31
HPV31 HPV52 HPV26
run;
[/code:1o76xtxa]
如何才能将上面的变量根据变量的值生成新变量,例如:如果变量x里含有HPV51 则产生新变量HPV51 其值为1, 没有则其值为0
HPV51 HPV52 HPV56 HPV39 HPV68
1 1 1 0 0
1 0 0 0 0
希望高手给点解决办法!
作者:
shiyiming
时间:
2012-4-6 12:02
标题:
Re: 求助:如何根据变量的值生成新变量?
[code:10sv7sov]
data m;
set temp;
length var $5;
j=1;
i=_n_;
do while(scan(x,j)^="");
var=scan(x,j);
output;
j=j+1;
end;
run;
proc freq data=m noprint;
tables i*var /out=m SPARSE;
run;
proc transpose data=m out=result(drop=i _name_ _label_);
by i;
id var;
var count;
run;
[/code:10sv7sov]
作者:
shiyiming
时间:
2012-4-6 20:26
标题:
Re: 求助:如何根据变量的值生成新变量?
学到了,根据byes的回答看懂了楼主的问题。
作者:
shiyiming
时间:
2012-4-6 20:41
标题:
Re: 求助:如何根据变量的值生成新变量?
[quote="johnlxd007":yr48oyoj]学到了,根据byes的回答看懂了楼主的问题。[/quote:yr48oyoj]
谢谢byes,这个问题困扰了好久了~ <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2