公卫人

 找回密码
 立即注册

QQ登录

只需一步,快速开始

不劳无获:如何获取钢镚? 因为论坛,所以相逢。 捐赠百科答题至尊

公卫考研:一起风雨兼程 因为梦想,所以努力。 真题答案政治英语

职称考试:诸君逢考必过 因为热爱,所以执着。 模拟考场技能执医中级

查看: 51|回复: 0
打印 上一主题 下一主题

[分享] SAS学习记录二

[复制链接]
跳转到指定楼层
1#
cherieling 发表于 2019-9-1 16:25:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

注册后推荐绑定QQ,之后方才可以使用下方的“用QQ帐号登录”。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 cherieling 于 2019-9-1 16:43 编辑

1、【语言简介
SAS语言=
基本SAS语言
(如:SAS文件、基本SAS语句、常用SAS函数、SAS数组、SAS过程等)
+高级SAS语言
(如:宏、SAS SQL、SAS ODS、SAS/IML等)
SAS函数:近500个,
如:求-12.3的绝对值,对应的语句:Y=ABS(-12.3);或者:x=-12.3;y=abs(x);
再如:求49的平方根,对应语句:Y=SQRT(49);或者:x=49;y=sqrt(x);
不是所有的函数都是这么简单,带有多个参数的函数,需要搞懂参数的含义,才能正确使用。
SAS过程:30多个模块,每个模块一般都有几十个过程。
如:上一篇学习记录中,所调用的SAS过程名为“FREQ”,总共写了4个SAS语句,就完成了。
(作者说要一周才能掌握以上例子的过程步的全部语句和选项所涉及的内容,瞬时记忆告诉我,我记住了。)
2、【SAS数据集简介】
无论如何运行软件,创建SAS数据集永远是第一步。(在编辑窗口录入的原始数据,再存在某个外部设备上,只能称为一个外部数据文件。)
定义:数据只有经过SAS系统加工后,并按照特定的方式存储才能被称为SAS数据集。(将变量名和具体数据有机结合在一起)
种类::2类
临时数据集:如上一篇中的数据集rate,被存储在SAS/WORK库(即文件夹),一旦退出SAS系统,就消失
永久数据集:被保存在非SAS/WORK库,也可以是自己创建的某个库。,退出SAS系统,仍被保留。
如何创建数据集?
若是临时SAS数据集,像上一篇那样就可以;
若是永久SAS数据集,假定在D盘上有一个文件夹,名为SASTJFX,试将上例中的数据步改造成创建永久SAS数据集。并永久保存数据集在D盘SASTJFX文件夹中。
libname table 'F:\SASTJFX';/*libname创建文件关联名的重要语句,table是取的关联名(不超过8字符),就代表其后的路径*/
DATA table.rata;/*data.rate意味着创建一个名为rate的永久数据集,被存在F盘中SASTJFX文件夹中*/
        do a=1 to 2; do b=1 to 2;
                input f @@;output;
        end;end;
cards;
5  249
10 244
;
run;
数据集名的种类:2类
一词名:rate(临时数据集):细分3种:
(1)自己取名(如rate)
(2)data语句写成data形式,默认运行一次数据步后,数据集名为data1,再运行1次,为data2
(3)用SAS系统保留的特殊数据集名:_DATA_、_NULL_、_LAST_。
(其中DATA _DATA_与data等价。同上。
DATA _NULL_表明将执行的数据步,可用PUT等输出语句输出中间结果,但观测值并不被写入该数据集。优点:节省计算机资源。
DATA _last_ 表明此次进入系统以来,无论创建了多少个数据集,只调用最后被创建的那个数据集)
两词名:table.rate(永久数据集)
3、SAS帮助窗口:可菜单可工具栏可命令。
命令:如 help freq 回车后可看freq全部信息

初学者学习的快捷方式:——调用其他人编制好的SAS程序,只要解决了“对号入座”的问题(每个程序干什么的),用自己数据替换掉已有的程序中的数据,结合他人的语句讲解,一次学一点。这是一种边学边解决实际问题,见效比较快。

那么,问题来了:数据少,就替换呗;当数据量很大时,或遇到SAS无法读取的第三方格式时,就很麻烦。???这个问题的解决需要深入学习(反正我也意识到了,也困惑了很久了)

下面有答案,需要慢慢来

【SAS用法】——从5个角度了解SAS
A从实验设计者角度:根据设计内容分为3类
(1)进行随机化(如:PLAN过程)
(2)估计样本含量和检验效能(如:POWER过程和GLMPOWER过程)
(3)给出实验设计方案(即与特定设计类型对应的可用于安排实验的设计表格)
B从资料录入角度:
(1)按数据库格式录入统计资料:这样录入的数据可以根据研究则会不同的分析目的,从中提取不同的变量或观测进行特定的统计表达与描述和统计分析。
举个例子:
【例1-2】有人对103例冠心病患者(G=1)和100例正常对照者(G=2)进行了多项指标的观测,资料如表1-1所示。请问:如何在SAS系统中录入这些资料,以便于采用SAS软件对数据进行各种统计表达与描述或进行各种统计分析?

如果是纸质数据,那就只能在编辑窗口一行一行的输入了。(怎么输入?有点繁杂、暂时未知)

(2)按实验设计类型录入统计资料:整理后的统计表的分组标志通常是定性变量,而结果变量通常是定量的。
举个例子:
【例1-3】某实验同时涉及A、B、C 3个地位平等的实验因素,A分为2个水平、B分为3个水平、C分为4个水平,观测指标为OD值,受试对象为样品,在不同实验条件下均独立地重复做了2个样品,资料如表1-2所示。请在SAS编辑窗口输入此表中的主要变量和相应的数据,以便能进行相应设计定量资料的方差分析。

用DO-END循环语句,比较简便
data table.doxunhuan;
        do A=1 to 2;do B=1 to 3; do C=1 to 4;do cixu=1 to 2;
                input OD@@;output;
        end;end;end;end;
cards;
0.39 0.41 0.37 0.39 0.42 0.38 0.44 0.41
0.37 0.36 0.43 0.45 0.41 0.37 0.42 0.39
0.45 0.43 0.46 0.39 0.38 0.35 0.39 0.37
0.36 0.41 0.45 0.36 0.41 0.45 0.41 0.46
0.42 0.37 0.38 0.41 0.38 0.36 0.43 0.38
0.37 0.43 0.36 0.39 0.43 0.42 0.35 0.37
;
run;
(3)按列联表类型录入统计资料:与上述定量资料类似,多因素定性资料,习惯上整理成列联表的形式,特别是高维列联表资料,很少用数据库形式呈现资料。
举个例子:
【例1-4】某临床医生收集到如表1-3所示的资料,请在SAS编辑窗口输入此表中的主要变量和相应的数据,以便能进行相应设计定性资料的统计分析。

同上,简单点,就用DO-END循环语句
data table.doxunhuan1_4;
        do treatment='JIA','YI'; do time='short','long';
                do degree="light","weight";
                        do effect="zhiyu","xianxiao","haozhuan","wuxiao";
                                input number @@;output;
        end;end;end;end;
cards;
50 46 37 12
42 35 32 23
37 30 28 14
31 24 25 38
45 49 44 16
38 43 39 22
29 38 34 19
22 33 30 28
;
run;
C从不同格式数据转换角度:
(1)由非统计软件(如excel)创建的数据文件与SAS数据集之间的互相转换:其中有些可用导入数据转换成SAS数据集。
举个例子:
程序法:
我导入的数据是excel文件,第一行是变量名,12个观测。注意:我存放在非WORK库中,如果想创建临时数据集,可以用WORK替换我的table。excel文件路径写清楚,用表单几的数据,等。
proc import out=table.citygirl dbms=excel replace/*citygirl存放在table库中*/
        datafile="F:\SASTJFX\citygirl.xlsx";
        sheet="sheet1$";/*需要转换的数据在excel文件的第1张表单,若在第三张表单,则sheet="sheet3$"*/
        getnames=yes;/*因excel文件中第一行是变量名,反之,是数据,则用getnames=no*/
run;
非程序法:在此不介绍。

(2)用SAS系统读入其他版本或分析软件(SPSS、BMDP等)创建的数据
(1)如果是SPSS创建的数据集,可利用SPSS的“另存为",选择合适的保存类型并输入拟创建的数据集名,确定后,就可得到转换后的SAS数据集。
(2)也可以使用libnames语句和SAS内置的转换程序,达成此目的。

D从资料表达角度:
如:FREQ过程,生成的定量资料的频数分布表,只要两个数据不完全相等,就形成两个分组标志,频数表很长,内容过细且美哟实用价值。
可搭配FORMAT过程,在前者基础上,生成有实用价值的频数表。(具体怎么操作,往后学)

E从统计分析角度:
软件有相应的统计分析过程:如
(1)单因素两水平设计定量资料T检验——TTEST过程;
  (2)两因素析因设计定量资料一元方差分析——ANOVA过程和GLM过程;
(3列联表资料的分析——FREQ过程和CATMOD过程
某些计算问题,尚无现成的过程,此时,需要利用SAS语言并按照已知的计算公式或算法编写程序,已达到目的。
(PS:想利用SAS解决自己的各种问题,需要做到2点:1要会调用SAS中全部过程;2全面掌握SAS语言)

扫盲章节,继续努力






评分

参与人数 1钢镚 +100 收起 理由
epiman + 100 积极发布原创帖子内容,再接再厉!

查看全部评分

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

提现|充值|至尊会员||公卫人 ( )

GMT+8, 2019-9-17 03:00 , Processed in 5。189646 second(s), 38 queries , Gzip On。

Powered by X3.4

© 2001-2017

快速回复 返回顶部 返回列表
极速赛车分析 k8彩票计划群 138彩票计划群 98彩票网 极速赛车单双公式计划 吉林福彩网 澳客彩票计划群 疯狂斗牛 河北快3开奖 98彩票计划群