全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3255 2
2012-09-01
各位大虾,一直搞不懂下面的程序是怎么运行的,求指导,非常感谢!

原始数据:
----*----10----*----
RUTH  39 11
JOSE  32 22
SUE  30 33
JOHN  40 44

下面有四个程序,结果都不一样。
data a;
infile 'e:\sas\name.txt';
input name $1-4 @ ;
if name='RUTH' then input age 7-8 ;
else input id=10-11 ;
run;
PROC PRINT DATA=A;
RUN;

data a;
infile 'e:\sas\name.txt';
input name $ 1-4 ;
if name='JOSE' then input age 7-8 ;
else input id=10-11 ;
run;
PROC PRINT DATA=A;
RUN;

data a;
infile 'e:\sas\name.txt';
input name $ 1-4 ;
if name='SUE' then input age 7-8 ;
else input id=10-11 ;
run;
PROC PRINT DATA=A;
RUN;

data a;
infile 'e:\sas\name.txt';
input name $ 1-4 ;
if name='JOHN' then input age 7-8 ;
else input id=10-11 ;
run;
PROC PRINT DATA=A;
RUN;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-9-1 21:32:42
1. 把name.txt 中 SUE后面加一个空格;
2. 在生成B C D的data过程的第一个input 语句中1-4后空格添加 @;
3. 把4个data过程中id后的‘=’  去掉.
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-2 15:47:58
priss111 发表于 2012-9-1 21:32
1. 把name.txt 中 SUE后面加一个空格;
2. 在生成B C D的data过程的第一个input 语句中1-4后空格添加 @;
3 ...
非常感谢!
我想问一下,为什么用原来的数据,
RUTH  39 11
JOSE  32 22
SUE  30 33
JOHN  40 44
并且用下面的程序
data a;
infile 'e:\sas\name.txt';
input name $ 1-4 ;
if name='SUE' then input age 7-8 ;
else input id=10-11 ;
run;
PROC PRINT DATA=A;
RUN;
结果为什么会是:
RUTH . .
SUE 40 .
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群