博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习SAS_001_循环语句中读取数据文件
阅读量:5771 次
发布时间:2019-06-18

本文共 804 字,大约阅读时间需要 2 分钟。

问题:有4个TXT文件,每个文件中1个数值变量,共5个观测(如1 2 3 4 5),数据分析前,需要先用循环语句对这几个文件的数据预处理,然后用SAS语句读取文件。

解决:

 1 data temp;
 2  
do 
in=
1 to 
4;
 3  fname=cats(
'
c:
',
in,
'
.txt
');
 4  
do until(last);
 5  infile XXX filevar=fname end=last;
 6  input v;
 7  output;
 8  end;
 9  end;
10  stop;
11  run;

注意:

1.DO循环:很巧妙的注意到了C盘下TXT文件名的规律性,都是一个数字命名的文件名,用变量IN,采用CATS字符串连接函数,循环创建D盘下的TXT文件名变量FNAME;
2.在读取文本数据时,很多人都知道用INFILE,以及INFILE基本参数,XXX是文件名,filevar是打开或者关闭指定的文件名,end=last是定义一个变量了解是否读到文件的结尾处,这里的LAST与until里面的last保持一致
3.STOP,这里为什么用STOP,这个很重要,如果去掉STOP,那么就会无线循环下去。所以当我们在DATA步里面制定读取的数据是以随机方式读取的时候,例如这个里面的IN,或者是在SET里面的POINT等,需要用STOP。Because SAS does not detect an end-of-file with this access method, you must include program statements to prevent continuous processing of the DATA step.

转载于:https://www.cnblogs.com/qiangshu/archive/2012/04/28/2474371.html

你可能感兴趣的文章
手把手教你测——上网快鸟
查看>>
MQTT简介
查看>>
Django文档学习
查看>>
i submit a bug for springmvc
查看>>
[zz] fstab mtab
查看>>
2011-04-18 python 文件copy 之道 大全 (转)
查看>>
用javascript获取地址栏参数
查看>>
解析xml
查看>>
一起谈.NET技术,你应该知道的15个Silverlight诀窍
查看>>
SQL注入漏洞全接触--进阶篇
查看>>
电商应用脚本开发遇到问题和处理
查看>>
商教助手!解析夏普液晶高清宽屏投影机系列
查看>>
中国平安增持华夏幸福5.69%股权 看好长期战略协同
查看>>
云南去年有望实现151万贫困人口净脱贫
查看>>
Java架构师面试题系列整理(大全)
查看>>
延伸产业链 中国产粮大省向“精深”问发展
查看>>
消费贷用户70%月收入低于5000元 80、90后是主要人群
查看>>
2018年内蒙古外贸首次突破1000亿元
查看>>
为什么主流APP的推荐总能符合你口味?推荐系统了解一下
查看>>
完整的大数据知识体系,大数据学习路线图
查看>>