SAS基础2
- @的应用????
- @@强制保持当前记录
- @如果data步中没有其他语句就正常读取,直到第二个input语句,就可以保持同行输入
- sas数据的导入
- 只有非sas数据类型的数据才可导入
- sas永久数据集的建立
- 首先在硬盘中建立一个文件夹并与SAS逻辑库中所建立的数据库关联起来
- 在数据写入时应在所建立的数据集前加上文件夹的名称,如:data mydir.fh
- 数据集调取时
- libname Aa"c:\sasfuxi"
数据集的合并
-
纵向合并
- set
- set 数据集1 数据集2........
- by 变量1
- set 数据集1(in=变量1) 数据集2(in=变量2) ,用于识别原始数据集
- set
-
横向合并
- merge
- merge 数据集1 数据集2........
- by 变量1
- merge
-
多个数据的交集
- merge t1(in=a1) t2(in=a2) t3(in=a3);
- if a1 and a2 and a3
观测的选择
-
if
-
if 表达式 表示表达式成立
-
if 表达式 then delete
set aa;
if gender=”M” and age>40;
-
-
where
- 可做数据集选项放在数据集后的括号中(where=(表达式))
- set aa (where=(gender="M" and age>40));
-
利用obs 和 firstobs选择观测
-
选择观测3-7
data pop;
do id=1 to 10;
output;
end;
;
data sam;
set pop(firstobs=3 obs=7);
proc print;
run;
-
-
对变量的选择
-
keep
-
drop
-
vset ht;
keep gender age height1 height2;
-
数据集选项
-
data ht1;
set ht(keep=gender age height1 height2);
-
-
-
数据集的排序
-
proc sort <out=数据集>
-
by by
变量1 变量2 …… - 选项out=数据集指定排序后的数据集名
- by语句指定排序的变量,可以指定多个,descending降序,不加默认的是按升序
-
查找重复值
-
proc sort out=rep nouniquekey;
pby name;
-
记录学习的点点滴滴