由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教SAS问题:这个code有什么办法简化吗?
相关主题
SAS 求助: filenames[合集] 请教一个SAS数据input的问题
从yahoo finance下载数据,R or Python?SAS数据输入疑问
How to work on this dataset?请教Base 70 中的一题 关于@
sas 简单问题用SAS生成CSV 文件
SAS BASE Questions请问一道SAS BASE的题目,THANKS~~~
SAS 问题请教WHICH ONE IS CORRECT?
[合集] SAS data input helpquestion about SAS BASE 123 NO.110
请教一个SAS数据input的问题HELP~~About reading sas data set
相关话题的讨论汇总
话题: rc1话题: ifelse话题: rct1话题: rc37话题: rc2
进入Statistics版参与讨论
1 (共1页)
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
4
macro
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是否写得漂亮,看来我还得努力啊。
1 (共1页)
进入Statistics版参与讨论
相关主题
HELP~~About reading sas data setSAS BASE Questions
70 题中的第29题答案是不是错了啊?SAS 问题请教
sas base 70 key -errors[合集] SAS data input help
请问base(123题)的第114题请教一个SAS数据input的问题
SAS 求助: filenames[合集] 请教一个SAS数据input的问题
从yahoo finance下载数据,R or Python?SAS数据输入疑问
How to work on this dataset?请教Base 70 中的一题 关于@
sas 简单问题用SAS生成CSV 文件
相关话题的讨论汇总
话题: rc1话题: ifelse话题: rct1话题: rc37话题: rc2