逻辑库
libname语句——逻辑库
libname <name> '<path>';
多个位置
libname <name> ('<path>' '<path>');
路径
固定路径,方便重复调用
filename <myfile> 'path';
用法
filename myfile 'C:\SataSoftData\';
data bank;
infile myfile(bank1.txt);
input ...;
run;
排序
sort过程——排序
proc sort data=dataname out=asd;
where family='asd';
by var1 descending var2;
run;
输出数据
print过程——数据集数据部分
proc print data=<dataname> label noobs ;显示标签,不显示观测序号
title 'title';
footnote 'footnote';注意这是全局设置
by var1;必须先sort过程之后再使用by语句
sum var2;对变量进行求和
id var1;用var1替代obs,当作第一列
var var1 var2 var3;
where var1=3;条件筛选
format var1 date9.;
run;
输出内容
contents过程——数据集描述部分
proc contents data=<dataname>;
run;
创建数据集
data步——手动输入
data <libname>.<dataname>;
infile cards;(可省略)
input var1 var2$;
informat var1 format1;
label var1='label1' var2='label2';
datalines;
dasta asdd
asdad sada
;
run;
data步——文件读入
- dlm='09’x 制表符
data <dataname>;
infile 'path' <选项> dlm=',' dsd firstobs=1 obs=10 pad(行尾补充空格);
length var1 n;(length必须放在input之前)
input var1 var2;
format var1 format1;
run;
输入模式:按列输入,格式化输入,列举输入,混合输入
修饰符
三个修饰符
- 冒号:跳过分隔符开始读直到遇到分隔符,或者达到格式中的长度或者数据行结束
- 与号&允许数据值中字符之间包含一个空格,直到遇到两个空格或者数据长度到达或者输入行结束
- 非号~保持数据中的单引号、双引号
行保持符号@@
标题脚注
title语句——标题
title 'title';
titlen 'titlen';第n级标题
title;取消标题
titlen;取消第n级其以上的标题
footnote语句——脚注
footnote 'footnote';
footnoten 'footnoten';第n级脚注
footnote;取消脚注
footnoten;取消第n级其以上的脚注
文件导入导出
import过程
proc import out=temp;
datafile='path' 这里不可以用filename
dbms = xls replace dbms数据源类型——xls,xlsx,excel,access,csv;replace覆盖写
range='Sheetname$A1:E5' 数据范围
getnames=YES;是否读取第一行作为列名
注意上面都是选项,分号得注意
run;
export过程
proc export;
data=数据集
outfile='path'
dbms=<database_management_system>;注意分号
delimiter = ',';分隔符
putnames=NO;是否将变量名作为第一行,默认为yes
run;
自定义格式
format过程——自定义格式
proc format;
value var1 1='male'
2='fmale';
value var2 ...;
run;
频次统计
freq过程——制表,列联表contingency table
proc freq data=dataname;
tables var1*(var2-4);
var5;
var6--var7;
tables (var8-9)*(var10-11)/nocol norow nopercent out=data nocum nofreq ;
run;