全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1494 5
2009-07-24
老师布置了一个assignment,让解释下面语句,刚接触sas不到一个星期,实在想不出来。请高手们解释一下data部分
DATA work;
    LENGTH  GRADE $1;
INPUT  score 3.1 initials $3. grade $;
LINES;
567 ABCD
890 EDFAC
78 DEFEEF
;
proc print noobs;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2009-7-24 14:12:10
如果你的程序中空格没有打错的话,答案应该是:
GRADE    score    initials

      C       56.7      AB
      F       89.0      ED
      E        7.8      DEF
length statement规定了GRADE长度为1;lines表示下面的输入为按行输入,类似于cards语句;而格式的规定为score是读入三列,同时其中一列为小数点后一位;initial是字符型,读入3列;而grade前面规定长度只有1,所以只有一列。
我也是初学者,这是我的理解,希望高手指正。互相学习,互相进步啊!
二维码

扫码加我 拉你入群

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

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

2009-7-24 14:31:52
score3.1 是把前三列数值取出来变成一位小数
initials $3. 是在score变量后面的连着读3列 也就是4,5,6列  拿第一行来说,就是 空格和A和B 所以initials值是 AB ,空格看不见
但是如果是initials $3   没有那个小数点 就是指所有列的第3列
grade因为前面定义了长度1 相当于  grade $1. 在intials后面,也就是所有列的第七列
因为score占了3个 initials占了3个 grade占1个 所以是第七列
同上, 如果是 grade $1 那么就是整个列的第一列了
还有,grade是怎么跑到第一列去的,我认为是length定义的原因
二维码

扫码加我 拉你入群

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

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

2009-7-24 17:55:38
回二楼:output是没错的,但是我不理解这个结果是怎么出来滴,为什么是那样的排列。
二维码

扫码加我 拉你入群

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

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

2009-7-24 17:59:44
回三楼:果然是高手,虽然我看了好几遍才算是有点眉目。万分感谢
二维码

扫码加我 拉你入群

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

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

2009-7-25 01:04:01
实在不想说什么,不过只能说,有点歪歪
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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