SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 5989|回复: 4
打印 上一主题 下一主题

问一个sas题目哈,请高人指点

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-10-1 20:20:14 | 只看该作者

问一个sas题目哈,请高人指点

Given the contents of the raw data file TYPECOLOR.DAT:

  ----+----10---+----20---+----30
  daisyyellow

The following SAS program is submitted:

  data FLOWERS;
     infile 'TYPECOLOR.DAT' truncover;
     length
        Type $ 5
        Color $ 11;
     input
        Type $
        Color $;
  run;

What are the values of the variables Type and Color?

     A. Type=daisy, Color=yellow
     B. Type=daisy, Color=w
     C. Type=daisy, Color=daisyyellow
     D. Type=daisy, Color=

在sas上运行了,不知道为什么选D,也许本身对truncover不是很了解吧
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-10-1 22:11:25 | 只看该作者

Re: 问一个sas题目哈,请高人指点

这是一个input外部文件的问题,包含4个知识点:
[quote:1mg94ca3]infile 'TYPECOLOR.DAT' truncover;[/quote:1mg94ca3]
1 infile语句没有使用dlm,dsd选项,这意味着如果后面的input语句使用list模式的话,将使用默认的分隔符-空格;
2 infile语句使用了truncover选项取代默认的flowover,避免遇到字段缺失时从下一行继续读取;
[quote:1mg94ca3]length Type $ 5 Color $ 11;[/quote:1mg94ca3]
3 length语句指定了type,color为character变量,一个变量的length为8,一个为11;
[quote:1mg94ca3]input Type $ Color $;[/quote:1mg94ca3]
4 input语句的写法表明使用的是分隔符固定的list模式,2个变量由分割符隔开,读入时的字符长度由分隔符决定,但能有效存储的字符长度由变量的length决定.

综合起来就是: 把外部数据集里的一行"daisyyellow",以空格为分隔符依次读入为2个变量,因为没空格,就把"daisyyellow"整个读入为变量type了,但type的length只有5,因此截断后,type的值只省下"daisy";而变量color没值可读,truncover又控制着不会到下一行继续读,也不会报错,因此color是的值就是missing的了
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-10-2 19:48:57 | 只看该作者

Re: 问一个sas题目哈,请高人指点

嗯嗯,谢谢你哈,我懂了,谢谢你的讲解。由于是列表输入,因此需要空格或分隔符来表示不同的变量值,
由于没有空格或分隔符,因此第二个就不读取数据了,被赋值为缺失值,谢谢~!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2012-7-11 15:16:01 | 只看该作者

Re: 问一个sas题目哈,请高人指点

把外部数据集里的一行"daisyyellow",以空格为分隔符依次读入为2个变量,因为没空格,就把"daisyyellow"整个读入为变量type了,但type的length只有5,因此截断后,type的值只省下"daisy";而变量color没值可读,truncover又控制着不会到下一行继续读,也不会报错,因此color是的值就是missing的了
精辟!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2012-9-2 19:11:15 | 只看该作者

Re: 问一个sas题目哈,请高人指点

讲解的太好了。深入浅出,通俗易懂啊
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-3 22:01 , Processed in 0.072934 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表