sas学习日志

1.first last语句
先对表进行排序(运行一段程序 by;第二个程序要重复写 by 是为了引出后面first last语句 实际上已经排好序了)
by 变量1 变量2 不同变量空格分割 先按照变量1排序 内部安变量2
在对表中具体数字计算是否第一次出现
pdv中会有first last变量 不会输出
first last后面跟的变量名 是统计的分级 要看具体表格
2.表格名()
()内是表格类型
data 表格(drop )是表格最后要drop一些变量
set 表格(drop )如果该表格内有drop后面的变量 报错
3.mdy是日期格式
mdy(m,d,yr)数字格式
4.obs
first obs=常数 从某一行开始读取数据
obs=常数 读取常数行数据
end= 变量 整个数据集 最后一行变量为1 不是最后一行为0 在数据集后作为属性存在
5.keep drop 一致
用 表(keep=选项) 能保持每次只读入需要读入的变量;比在内容里写省时间
keep variables 不能用于过程步
keep= varables 可以用于数据步(data set等)、过程步
表的属性()内用 keep =
keep = 不能等于数组
porc开头过程步
rename where 待补充
6.COLUMNS:指定输出到报表的列
DEFINE:上述列的格式等
COMPUTE:计算模块
7.被转换的字符型变量有格式要求$,一定要进行显式转换
8.数组
<1>数值数组
SAS数组每个元素对应一个变量名 变量名默认为数组名加序号 序号从1开始
array Diff{3} Difcount1-Difcount3(0,0,0)//变量名定义 赋初值
初始值可以省略默认为缺失
array Diff{3} Difcount1-Difcount3; //变量名定义
数组元素个数由变量个数决定
array Diff{} Difcount1-Difcount3;
其他例子
ARRAY COUNTRIES(0:8) A B C D E F G H I;
ARRAY ANSWER(
) A1-A100;
二维数组
array x[2][2] a b c d输入变量名按行排列
<2>字符数组
要指定数组元素最大长度 其他与数值型并无区别
array test(2) $10 add teacher
<3>临时数组
SAS每个元素不对应变量名即为临时数组
array test(3) temporary(0,0,0)
临时数组只参与中间计算 不存入数据集

你可能感兴趣的:(SAS学习日志)