全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9227 20
2012-09-05
同样的程序,同样的数据,放到txt中,和datalines中,结果不一样,求高手解释,我的b.txt中的数据结构是直接从datalines中复制过去的,高手可以也试一下。
复制代码


二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-1 21:58:45
这个问题多年前提出过,还没人帮我,求高手帮一下
二维码

扫码加我 拉你入群

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

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

2012-12-1 23:12:37
这个问题值得好好细究下。同样有困或。
二维码

扫码加我 拉你入群

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

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

2012-12-2 00:10:24
外部文件中的导入结果是可以理解的,默认的选项是flowover;
当该行长度不够的时候,直接由下一条记录读入一个变量,改成truncover;
就不会由于长度问题,跳过该行了。
在cards或者datalines,我以前在哪里看到过,和读入外部文件还是有点不同的,
我的理解是,在cards中,每行数据后面其实都是填满空格的(空格不一定准确呐)
比如nihao这行观测,它的长度并不是5,后面填满了空格,从而在读入的时候,
flowover选项就不会因为长度不足,而跳过该行观测,
此外lercl选项在 infile cards中是无效的,就是说在cards中设置一行的长度是无效的;
在这个例子中,读入外部文件的时候,lercl默认为256,加上pad选项,即长度不足256
的观测,后面都填上空格,直到长度为256,这样的话,即使不用truncover选项,
读入的数据也是和从cards读入一样的。
解释的有点罗嗦呐~


二维码

扫码加我 拉你入群

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

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

2012-12-2 00:48:17
ziyenano 发表于 2012-12-2 00:10
外部文件中的导入结果是可以理解的,默认的选项是flowover;
当该行长度不够的时候,直接由下一条记录读入一 ...
有些接近真相了。

data demo;
  infile datalines;
  input  testnum  $81.;
datalines;
1
22
333
4444
55555
;
run;

这个其实相当于flowover,结果是
22
4444

请教怎么解释?

二维码

扫码加我 拉你入群

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

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

2012-12-2 00:49:47
webgu 发表于 2012-12-2 00:48
有些接近真相了。

data demo;
这个好像跟cardimage又扯上关系了。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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