楼主: melody21
5997 6

[原创博文] SAS数据手动输入时只读取第一行--little sas book [推广有奖]

  • 4关注
  • 6粉丝

已卖:5份资源

讲师

49%

还不是VIP/贵宾

-

威望
0
论坛币
3199 个
通用积分
462.0354
学术水平
36 点
热心指数
48 点
信用等级
36 点
经验
138 点
帖子
349
精华
0
在线时间
544 小时
注册时间
2007-7-14
最后登录
2023-2-4

楼主
melody21 发表于 2012-6-25 01:38:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例子是little SAS book 57页,讲解missover选项的例子,我因为没有这本书的数据,想手动输入SAS,保存为.dat文件,然后再学习该missover的程序。结果在手动输入的时候,发现sas只读取第一行数据,求解。同时追问missover的作用,书上讲的没太弄懂。谢谢。
程序如下:
DATA SCORES;
INPUT NAMES $ TEST1 TEST2 TEST3 TEST4 TEST5;
CARDS;
Ngu 89 76 91 82
Ramos 67 72 80 76 86
Robbins 76 65 79
;
PROC PRINT DATA=SCORES;
TITLE 'scores of students';
RUN;
二维码

扫码加我 拉你入群

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

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

关键词:little Book ITT missover Students dat文件 little scores 程序

回帖推荐

webgu 发表于4楼  查看完整内容

DATA SCORES; infile datalines missover; INPUT NAMES $ TEST1 TEST2 TEST3 TEST4 TEST5 ; CARDS; Ngu 89 76 91 82 Ramos 67 72 80 76 86 Robbins 76 65 79 ; PROC PRINT DATA=SCORES; TITLE 'scores of students'; RUN;

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

sas默认一行读完了要读下一行,第一行没有test5,于是得跳到第二行去读,但是第二行第一个是Ramos,字符型,test5在input语句里是数值型,小sas为难了,于是就停下来了。 所以呢,缺失的数值型变量在样本里用“.”来表示,这样子小sas就知道这个是缺失值。 The MISSOVER option tells SAS that if it runs out of data, don’t go to the next data line. Instead, assign missing values to any remaining variables. 实际当 ...

沙发
zxn2011 发表于 2012-6-25 01:57:49
论坛上有数据和代码下载

藤椅
yushengfan 发表于 2012-6-25 06:30:54
sas默认一行读完了要读下一行,第一行没有test5,于是得跳到第二行去读,但是第二行第一个是Ramos,字符型,test5在input语句里是数值型,小sas为难了,于是就停下来了。
所以呢,缺失的数值型变量在样本里用“.”来表示,这样子小sas就知道这个是缺失值。
The MISSOVER option tells SAS that if it runs out of data, don’t go to the next data line. Instead, assign missing values to any remaining variables.
实际当中可能会遇到不友好的数据,就像例子一样,缺失值直接空着。missover先生帮助我们解决这种问题。一行数据不足时,认为剩下的变量是缺失值。
楼主可以把数据复制到文本文件,然后把扩展名从txt改成dat,这样便可解燃眉之急。
good luck~~

板凳
webgu 发表于 2012-6-25 07:30:31
DATA SCORES;
infile datalines missover;
INPUT NAMES $ TEST1 TEST2 TEST3 TEST4 TEST5 ;
CARDS;
Ngu 89 76 91 82
Ramos 67 72 80 76 86
Robbins 76 65 79
;
PROC PRINT DATA=SCORES;
TITLE 'scores of students';
RUN;
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

报纸
melody21 发表于 2012-6-25 08:44:36
yushengfan 发表于 2012-6-25 06:30
sas默认一行读完了要读下一行,第一行没有test5,于是得跳到第二行去读,但是第二行第一个是Ramos,字符型, ...
茅塞顿开,谢谢指导。新手入门,请多多指教。

地板
melody21 发表于 2012-6-25 08:45:13
webgu 发表于 2012-6-25 07:30
DATA SCORES;
infile datalines missover;
INPUT NAMES $ TEST1 TEST2 TEST3 TEST4 TEST5 ;
谢谢指导。

7
melody21 发表于 2012-6-25 08:46:01
zxn2011 发表于 2012-6-25 01:57
论坛上有数据和代码下载
谢谢。

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

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