有这样套数据情况,
(#+number表示数据所在行,原始数据中不存在)
#1 Data for 5 Questions
#2
#3 ABCDEAACCEBBBBBCB
#4 BDADDAACCABBBEEBBBB
#5 CACA
假设我有五个变量, Q1,Q2,Q3,Q4,Q5。从第三行开始读取数据。每个变量长度为1,字符型
实际运行结果,前2个观测为
OBS Q1 Q2 Q3 Q4 Q5
1 A B C D E
2 A A C C E
实际一共为8个observation
问,如何写input statement, 最好结合使用abbreviated variable list and informat list使input statement尽量简短些
我写了这样一套程序
Data 'C:\Users\DING ZHIJIA\Documents\spring 2013\STAT 501\topic3\HW3_Problem6';
*Produces a permanent SAS data set stored in a folder with a name of your choice using direct
referencing, not via defining a SAS library.*;
infile 'C:\Users\DING ZHIJIA\Documents\spring 2013\STAT 501\topic3\Assignment3_Files\HW3_B.txt';
Input #3 (QUES1-QUES5) (8*$1.) @@;
/*Reads the data starting on line 3
Names the variables QUES1, QUES2, QUES3, QUES4, and QUES5
Uses an abbreviated variable list and informat list in the INPUT statement*/
RUN;
proc print data='C:\Users\DING ZHIJIA\Documents\spring 2013\STAT 501\topic3\HW3_Problem6';
run;
结果log说 有 lost card
infile 里添加了 stopover option
log 描述出因为每行长度不同所以丢失数据
ERROR: INPUT statement exceeded record length.
INFILE C:\Users\DING ZHIJIA\Documents\spring 2013\STAT
501\topic3\Assignment3_Files\HW3_B.txt OPTION STOPOVER specified.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+---
3 ABCDEAACCEBBBBBCB 17
4 BDADDAACCABBBEEBBBB 19
5 CACA 4
这个错误如何修正?