我在以下数据上使用infile
数据hw10;
infile'\ Client \ C:\ Users \ drhunt \ Desktop \ datahw10.dat'DDS dlm = '09'X firstobs = 2 Missover;
enter code here
ID年龄性别状况整体Q1 Q2 Q3 Q4
Q5 Q6
1 22 2学生3 3 1 3 2 3 2
2 21 2学生4 3 2 3 4 3 4
3 18 1学院3 3 2 2 3 3 4
4 19 2学院2 1 2 3 2 3 3
5 26 1学生4 3 4 3 4 4 3
6 20 1学生4 3 2 4 3 3 4
7 29 2学生2 2 3 3 2 3 1
8 22 1学院4 3 2 4 4 4 4
9 19 1学生2 2 4 1 3 3 1
10 20 2学生2 2 2 3 3 1 3
11 60 2学院3 3 3 1 2 2 1
12 22 1学生1 3 2 2 1 2 1
当然,你可以看到它中存在格式错误,所以这是我的代码
input ID Age Gender Status Overall Q1 Q2 Q3 Q4 Q5 Q6;
Label Q1 = 'Knowlwedgeable about subject'
Q2 = 'Prepared and organized'
Q3 = 'Explain concepts well'
Q4 = 'Held my attention'
Q5 = 'Encouraged and receptive to questions'
Q6 = 'Enthusiastic about teaching';
run;
proc print data=hw10;
run;
*Part B Hw10*;
Proc freq data=hw10 Order=Data;
Tables Gender status Gender*status/Chisq Norow;
run;quit;
*Part C Hw10*;
Proc freq data=hw10 Order=Data;
Tables Gender*status/List Nocum;
run;quit;
由于某些原因,我的问题出现在A部分中,包含状态数据的列不会显示在我的输出中。我做错了有什么特别的事吗?
答案 0 :(得分:0)
如果未在输入语句中指定变量类型,SAS将假定您的输入变量都是数字。尝试在字符变量后添加$符号,例如:
data want;
input ID Age Gender Status $ Overall Q1 Q2 Q3 Q4 Q5 Q6 ;
cards;
1 22 2 Student 3 3 1 3 2 3 2
2 21 2 Student 4 3 2 3 4 3 4
3 18 1 Faculty 3 3 2 2 3 3 4
4 19 2 Faculty 2 1 2 3 2 3 3
5 26 1 Student 4 3 4 3 4 4 3
6 20 1 Student 4 3 2 4 3 3 4
7 29 2 Student 2 2 3 3 2 3 1
8 22 1 Faculty 4 3 2 4 4 4 4
9 19 1 Student 2 2 4 1 3 3 1
10 20 2 Student 2 2 2 3 3 1 3
11 60 2 Faculty 3 3 3 1 2 2 1
12 22 1 Student 1 3 2 2 1 2 1
;
run;
这会将状态存储为默认长度为8的字符。其余字符将导入为数字。