SAS学习第2章:基本程序构架

SAS语言中,对大小写、缩进(每行行头的空格数)、换行不敏感,对分号敏感。【即:不用在意代码内的大小写、换行、缩进,但是要注意每一步操作结束是否有分号,不然将报错】【空格起着分隔数据与命令的作用,但一个空格与多个空格并无作用上的差异。】【分号一定要注意要使用英文分号,切忌使用中文分号】

整体结构是:

data 数据集名称;

input 变量名;

cards; 输入的数据;

proc 过程名;

run;启动运行的最终命令。

以上可以形象的理解为:

data 后输入你想给你这段代码起啥名字,(如:data cow;)

input 后输入本次实验数据中的各个因素的缩写,且必须加@@(如:a细菌所处温度;b时间,c细菌个数    即:input a b c@@; )

cards;代表数据输入的开始,数据输入结束后应当加上分号表明数据输入已经结束。

(如:cards; 12 23 45 58 89  66;)

proc后输入想调用的分析过程,如T检验(proc means mean stderr t prt;)方差分析(proc anova;)等。

class 后加变量名;

model 后加     因变量=自变量/选项(如,z是自变量,受x,y影响,即:model z=x,y)

means语句计算各处理效应的平均数,常见的有lsd,duncan,snk。默认显著水平为0.05,可以修改。

lsd指(Least—SignificantDifference),最小显著性差异法;duncan指新复极差法;snk指q法

(如用lsd,duncan,snk等三种方法计算各处理平均数,显著水平α=0.01上的多重比较 means a b /lsd duncan snk alpha=0.01)

var 后加需要分析的变量,一般为输入数据进一步处理的数。(如 input a b@@; x= a-b ;此时在run前需要声明x为待分析变量,即 var x; 不然将默认分析a与b,导致报错。)

举例:

应用克矽平治疗矽肺患者10人,治疗前后血红蛋白含量(g%)如下 。问该药是否会引起血红蛋白含量的变化?

───────────────────────

病人号         治疗前         治疗后

───────────────────────

1              11.3            14.0

2              15.0            13.8

3              15.0            14.0

4              13.5            13.5

5              12.8            13.5

6              10.0            12.0

7              11.0            14.7

8              12.0            11.4

9              13.0            13.8

10             12.3            12.0

───────────────────────

代码为:

data a1;
input a b@@;
c=a-b;
cards;
11.3 14.0
15.0 13.8
15.0 14.0
13.5 13.5
12.8 13.5
10.0 12.0
11.0 14.7
12.0 11.4
13.0 13.8
12.3 12.0
;
proc means mean stderr t prt;
var c;
run;

 

 

你可能感兴趣的:(学习,sas,统计,数据处理)