楼主: peijiamei
1463 7

[原创博文] 数据读入问题 [推广有奖]

学科带头人

76%

还不是VIP/贵宾

-

威望
3
论坛币
26151 个
通用积分
12.3533
学术水平
217 点
热心指数
343 点
信用等级
210 点
经验
75410 点
帖子
1102
精华
1
在线时间
2016 小时
注册时间
2007-11-15
最后登录
2016-3-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现在有这么一个txt文件:

57:6270
1:3875
32,32:2780
1,1:1370
32:1205
32,32,32,32:939

希望读入的sas的格式是:

var1

var2

var3

var4

var5

57

 

 

 

6270

1

 

 

 

3875

32

32

 

 

2780

1

1

 

 

1370

32

 

 

 

1205

32

32

32

32

939



空的地方是缺失值。


高手现身,求程序,感谢!
二维码

扫码加我 拉你入群

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

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

关键词:数据读入 sas的 VaR txt 缺失值 程序

沙发
soporaeternus 发表于 2011-10-21 15:48:51 |只看作者 |坛友微信交流群
  1. data _null_;
  2.         infile datalines;
  3.         input x:$1.;
  4.         array var var1-var4;
  5.         do i=1 to dim(var);
  6.                 var[i]=scan(scan(_infile_,1,":"),i,",");
  7.         end;
  8.         var5=scan(_infile_,2,":");
  9.         put _all_;
  10.         datalines;
  11. 57:6270
  12. 1:3875
  13. 32,32:2780
  14. 1,1:1370
  15. 32:1205
  16. 32,32,32,32:939
  17. ;
  18. run;
复制代码
已有 1 人评分经验 热心指数 信用等级 收起 理由
peijiamei + 1 + 1 + 1 观点有启发

总评分: 经验 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

Let them be hard, but never unjust

使用道具

藤椅
yanan9256 发表于 2011-10-23 09:49:15 |只看作者 |坛友微信交流群
Mark

使用道具

板凳
yanhuaguo 发表于 2011-10-23 11:37:55 |只看作者 |坛友微信交流群
soporaeternus 发表于 2011-10-21 15:48
赞!

使用道具

报纸
jingju11 发表于 2011-10-24 03:08:31 |只看作者 |坛友微信交流群
soporaeternus 发表于 2011-10-21 15:48
读入的真好。京剧
已有 1 人评分热心指数 收起 理由
peijiamei + 1 好久不见

总评分: 热心指数 + 1   查看全部评分

使用道具

地板
peijiamei 发表于 2011-10-24 17:39:02 |只看作者 |坛友微信交流群
soporaeternus 发表于 2011-10-21 15:48
由于数据量比较大,所以真正有几个变量现在还不清楚,有没有办法在未知变量数的情况下,将数据按照规则读入呢?
我的微博:http://t.sina.com.cn/1087192374
欢迎互相加关注!

使用道具

7
peijiamei 发表于 2011-10-24 17:57:42 |只看作者 |坛友微信交流群
soporaeternus 发表于 2011-10-21 15:48
如果不知道变量个数,可以设置一个较大的上限,然后将空的变量删除---比较笨得一个办法。。。。


还是原来的数据,如果我想将以下数据作为一个变量提出来,有啥好办法吗?
谢谢大神了。

57

1
32
1
32
32

实际上是前面4个字段中,不为空的最后一个数据
我的微博:http://t.sina.com.cn/1087192374
欢迎互相加关注!

使用道具

8
soporaeternus 发表于 2011-10-25 11:28:13 |只看作者 |坛友微信交流群
peijiamei 发表于 2011-10-24 17:57
如果不知道变量个数,可以设置一个较大的上限,然后将空的变量删除---比较笨得一个办法。。。。
  1. data _null_;
  2.         infile datalines;
  3.         input x:$1.;
  4.         y=scan(scan(_infile_,1,":"),-1,",");
  5.         z=scan(_infile_,-2,":,");
  6.         put y= z=;
  7.         datalines;
  8. 57:6270
  9. 1:3875
  10. 32,32:2780
  11. 1,14:1370
  12. 32:1205
  13. 32,32,32,33:939
  14. ;
  15. run;
复制代码
y和z是两种取法
不知道是不是cover了所有情况
希望对你有帮助
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
peijiamei + 1 + 1 + 1 非常感谢!完全解决问题了

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

Let them be hard, but never unjust

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-10 06:40