SAS编程

时间:2024-10-05 07:20:00

1.读取并复制SAS数据集

data a;
set 'D:\2013年中国高校SAS数据分析大赛初赛考题\数据\logistic_use.sas7bdat';
run;
  • 1
  • 2
  • 3

2.用data步读取csv文件,并指定起始行

data lris;
infile 'C:\Users\33584\Desktop\' dlm=',' firstobs=2;
input  x sepal_length  speal_width  patal_length  patal_width  species $;
run;
  • 1
  • 2
  • 3
  • 4

3.读取excel文件

proc import datafile='C:\Users\33584\Desktop\2019年2月工资表 .xlsx' 
dbms='xlsx'
out=salary
replace;
GETNAMES=NO;
sheet='2019-02';
run;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

用法、input()函数、missing()函数

data salary2;
	set salary;
	retain xba 0;
	ququ = input(m, ? best.);
	if missing(ququ)^=1 then 
		do;
			put ququ=;
			xba=xba+ququ;
			put xba=;
			if a='小计' then 
				m='haha';
		end;
run;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

ququ不能和数据集已有变量重名,否则无法改变变量类型。

用法

set salary (firstobs=2 obs=2) ;
array list{*}_character_;
  • 1
  • 2

array跟在已经定义的变量后面可以自己生成变量。

dim(array)函数统计数组元素个数。

6.获取变量名

ID1 = open("salary");
Nvars = attrn(id1,'Nvars');
do i=1 to nvars;
	varnames=varname(ID1,i);
end;
  • 1
  • 2
  • 3
  • 4
  • 5

步中定义宏变量

call symput("X"||left(i),varnames);
  • 1

将varnames变量的值赋值给xi宏变量。

8.获取变量名

proc contents data=
	 out=vars3(keep=varnum name)
	 noprint;
run;

proc sql noprint;
	select distinct name
 	into :classname separated by ' '
 	from vars3
 	order by varnum;
quit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

可以用%put &classname;察看其宏变量。得到结果

相关文章