全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1926 5
2018-09-06
libname mozart 'c:\books\learning';
data mozart.test_scores;
length ID $ 3 Name $ 15;
input ID $ Score1-Score3 Name $;
datalines;
1 90 95 98
2 78 77 75
3 88 91 92
;
原程序如上,length 定义了ID name的长度,datalines按道理数据后面补充到80么?怎么读取不了name?
二维码

扫码加我 拉你入群

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

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

全部回复
2018-9-6 14:44:35
NOTE: LOST CARD.
RULE:      ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
45         ;
ID=3 Name=  Score1=88 Score2=91 Score3=92 _ERROR_=1 _N_=2
NOTE: SAS went to a new line when INPUT statement reached past the end of a line.
NOTE: The data set MOZART.TEST_SCORES has 1 observations and 5 variables.
二维码

扫码加我 拉你入群

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

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

2018-9-6 15:35:01
input语句5个变量,而数据行每一行只有4个变量,name信息在哪里?
二维码

扫码加我 拉你入群

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

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

2018-9-6 15:51:04
kige 发表于 2018-9-6 15:35
input语句5个变量,而数据行每一行只有4个变量,name信息在哪里?
额,不是说dataline默认数字后面补充到80吗?那么name应该可以读出来?只不过都是空格?
二维码

扫码加我 拉你入群

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

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

2018-9-7 20:29:20
vanvae 发表于 2018-9-6 15:51
额,不是说dataline默认数字后面补充到80吗?那么name应该可以读出来?只不过都是空格?
你这个错误提示是原程序运行的结果。
数据行的变量信息不足,name会自动读取下一行,也就是一个iput语句消耗两行数据。到第二次执行input语句时,name变量无可读取数据,所以会报错了。

所以,每一行都补充成5个数值自然就不会出错。但是你所说的补充80是什么意思,我还是没看明白。
二维码

扫码加我 拉你入群

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

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

2018-9-9 21:20:25
kige 发表于 2018-9-7 20:29
你这个错误提示是原程序运行的结果。
数据行的变量信息不足,name会自动读取下一行,也就是一个iput语句 ...
明白了 谢谢 这个是learning sas by example 的例子,可能真的写错了吧
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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