楼主: staty
1942 4

问个sas读数据的问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:52份资源

大专生

36%

还不是VIP/贵宾

-

威望
0
论坛币
-353 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
421 点
帖子
34
精华
0
在线时间
13 小时
注册时间
2007-11-28
最后登录
2017-6-28

楼主
staty 发表于 2008-3-20 22:12:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

用sas如何读下列格式的数据;(冒号后是相应的值)

y:34 x1:243 x2:43 x3:56 x4:65

y:24 x1:645 x3:55 x4:56(有缺失数据)

.........

二维码

扫码加我 拉你入群

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

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

关键词:缺失数据 数据 SAS

回帖推荐

icepolice 发表于3楼  查看完整内容

data ds;array xx {5} $ xx1-xx5  ;infile "c:\datafile.txt" missover;input xx1-xx5  ;run;data datset;array x{0:4}  x0-x4;array xx{5} $  xx1-xx5;set ds;    do i=1 to 5;            if xx(i)="" then x(i-1)="" ;                 else        & ...

本帖被以下文库推荐

沙发
olover 发表于 2008-3-21 04:57:00

 read as char frist and use substr + input to get the number you want

[此贴子已经被作者于2008-3-21 5:24:15编辑过]

藤椅
icepolice 发表于 2008-3-21 05:58:00
data ds;
array xx {5} $ xx1-xx5  ;
infile "c:\datafile.txt" missover;
input xx1-xx5  ;
run;


data datset;
array x{0:4}  x0-x4;
array xx{5} $  xx1-xx5;
set ds;
    do i=1 to 5;
            if xx(i)="" then x(i-1)="" ;
                 else
                    select (substr(xx(i),1,2));
                        when ('y:') x(i-1)=substr (xx(i),3,0);
                        when ('x1') x(i-1)=substr (xx(i),4,0);
                        when ('x2') x(i-1)=substr (xx(i),4,0);
                        when ('x3') x(i-1)=substr (xx(i),4,0);
                        when ('x4') x(i-1)=substr (xx(i),4,0);
                        when ('x5') x(i-1)=substr (xx(i),4,0);
                        otherwise;
                    end;
    
    end;

drop xx1-xx5  i;
rename x0=y;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

板凳
staty 发表于 2008-3-22 00:11:00

谢谢

报纸
staty 发表于 2008-3-22 00:17:00

不过,可能还会有问题。

它们之间可能没有空格:y:45x1:456...

这样也能区分数据.要是出现这种情况还有法读吗?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:25