- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、会计研究中的STATA运用 - Clive Lennox的个人网站http://ihome.ust.hk/~accl/Phd_teaching.htm - 为中山大学会计系所授课程 · 课件和演示用数据
二、高惠璇等编译,SAS系统 BASE SAS软件使用手册,中国统计出版社,1997;
高惠璇等编译,SAS系统 SAS/STAT软件使用手册,中国统计出版社,1997;
这两本书类似于字典,用来查,而不是用来读;
三、将EXCEL数据导入SAS
比如,要将H盘SAS目录中的profit.xls文件导入SAS,并命名为profit;
打开SAS,在编辑器中写入程序:
proc import out=profit datafile=H:\SAS\profit.xls
dbms=excel2000 replace;
run;
结果:在SAS逻辑库的Work中,就会出现profit数据集;
四、右键点开profit数据集查看数据集情况;
将Accper转变成年度;
data profit;set profit;
year=substr(accper,1,4)+0; 字符加0直接转换为数字格式。
run;
五、数据排序:如果想剔除重复的观测值,可以
加nodupkey,noudupkey可省略
- 对profit数据按照stkcd和year进行排序;
proc sort data=profit nodupkey;
by stkcd year;
run;
变量改名
data profit1;set profit;
rename stkcd=code;
run;
六、数据横向合并:在对两个或多个数据集进行merge时,需要首先按照关键变量如公司代码和年度)进行排序;
- 比如,要将Profit和solvency进行merge:
先将solvency.xls文件导入SAS
proc import out=solvency datafile=“H:\SAS\solvency.xls
dbms=excel2000 replace;
run;
data solvency;set solvency;
year=substr(accper,1,4)+0;
run;
proc sort; by stkcd year;run; 省略时,默认对最近的数据集进行排序
data fin_ratio;merge profit(in=a) solvency;
by stkcd year;
if a;
run;
注意:data x1;merge tmp1(in=a) tmp2;by var1 var2;if a;run
- 表示已tmp1为基础进行合并,合并后的数据集样本数同tmp1相同;
data x1;merge tmp1 tmp2;by var1 var2;run
- 包括了tmp1和tmp2的所有观测值;
data x1;merge tmp1(in=a) tmp2(in=b) ;by var1 var2; if a=1 and b=1;run
- 只包括tmp1和tmp2中共有的观测值;
七、纵向合并(append)
data x1; set tmp1 tmp2;
Run;
- SAS自己会去找对应的变量;
八、产生新的虚拟变量
比如,要从fin_ratio产生一个2006以后的虚拟变量,即年度在2006年后的,取值为1,否则为0; 则:
data fin_ratio;set fin_ratio;
after2006=0; 先对after2006变量赋0值。
if year=2006 then after2006=1;
run;
九、剔除变量空缺的观测值;
CSMAR数据集中,有些变量空缺,导入SAS为“.”,有些无点,为一个空格,则可以通过如下命令剔除这些数据缺失的观测值:
- 比如,希望剔除fin_ratio数据中,ROS缺失的样本;
proc sort data=fin_ratio;by ros;run;
data tmp1;set fin_ratio;
if ros=. or ros= then delete;
run;
假如要把ROS,ROA,ROE的缺失样本同时删除:
data tmp2;set fin_ratio;
if ros+roa+roe=. then delete;
run;
SAS的一些基本算符:
文档评论(0)