c*******7 发帖数: 2506 | 1 CODE如下。要对37个变量(RC1-RC37)进行同样的变换,生成37个新变量(RCT1-RCT37
),那些条件语句一个一个写起来太傻了。有什么简单的写法吗?
谢谢!
DATA A;
INFILE filename;
INPUT @7 (RC1-RC37) ($1.);
If RC1 in ("A", "B", "C", "D","E") then RCT1=1;
else if RC1 in ("0", "1","2","3","4","5") then RCT1=0;
If RC2 in ("A", "B", "C", "D","E") then RCT2=1;
else if RC2 in ("0", "1","2","3","4","5") then RCT2=0;
.
.
.
RUN; | S******y 发帖数: 1123 | 2 In Python, just for fun - | A*******s 发帖数: 3942 | 3 用proc format自定义自己的format就行
RCT37
【在 c*******7 的大作中提到】 : CODE如下。要对37个变量(RC1-RC37)进行同样的变换,生成37个新变量(RCT1-RCT37 : ),那些条件语句一个一个写起来太傻了。有什么简单的写法吗? : 谢谢! : DATA A; : INFILE filename; : INPUT @7 (RC1-RC37) ($1.); : If RC1 in ("A", "B", "C", "D","E") then RCT1=1; : else if RC1 in ("0", "1","2","3","4","5") then RCT1=0; : If RC2 in ("A", "B", "C", "D","E") then RCT2=1; : else if RC2 in ("0", "1","2","3","4","5") then RCT2=0;
| l*********s 发帖数: 5409 | | c**d 发帖数: 104 | 5 using array in data step:
array a{*} $ RC1-RC37
array b{*} RCT1-RCT37
do;
if/then;
end;
【在 c*******7 的大作中提到】 : CODE如下。要对37个变量(RC1-RC37)进行同样的变换,生成37个新变量(RCT1-RCT37 : ),那些条件语句一个一个写起来太傻了。有什么简单的写法吗? : 谢谢! : DATA A; : INFILE filename; : INPUT @7 (RC1-RC37) ($1.); : If RC1 in ("A", "B", "C", "D","E") then RCT1=1; : else if RC1 in ("0", "1","2","3","4","5") then RCT1=0; : If RC2 in ("A", "B", "C", "D","E") then RCT2=1; : else if RC2 in ("0", "1","2","3","4","5") then RCT2=0;
| S******y 发帖数: 1123 | 6 #In R -
#----------------------------
t=read.table('C:\\mylist.txt')
z<-ifelse(t == "A" | t=="B" |t== "C"|t== "D"|t=="E", 1, ifelse(t == 1 | t==2
|t== 3|t== 4|t==5, 0, -99)) | R******d 发帖数: 1436 | 7 %macro test;
%do i=1 %to 37;
data a;
set a;
If RC&i. in ("A", "B", "C", "D","E") then RCT&i.=1;
else if RC&i. in ("0", "1","2","3","4","5") then RCT&i.=0;
run;
%end;
%mend;
%test; | a***s 发帖数: 143 | 8 你们都写得高深了些,我会写SAS code,也能处理数据,只是我总是达到目的就算了,
从来不管code是否写得漂亮,看来我还得努力啊。 |
|