数据分析与统计软.ppt
2010级数据分析及统计软件第10周,互动奖励,本周优胜10378051 陈婉婷 以下同学免去本周作业10378051 陈婉婷 10378046 陆徐芬 10378082 梁智航 10378018 华雨臻 10378047 陈文忆 08342012 裴誉 09378105 葛妍妮,2,后续R学习,第10章 计算机模拟 自学,作业参数估计,假设检验,时间序列,穿插在SAS课程中大作业实践机会,保持持续接触密度,3,R大作业,请大家选择合适的题材(可以是某方面的数学计算,例如解一元高次方程、线性规划、图论等方面的数学算法,也可以是解决某些实际领域的统计问题,例如生物、医学、金融统计等,只要有实际意义即可),用R语言按规范写成可在本地安装的package本次大作业3周时间完成,每份作业可由4位同学连署,要求务必原创,占总评4分。其中选题的有意义性1分,程序的正确性1分,文档完备性1分,整个项目的复杂度1分。自我评价优秀的作品,可以自行提交到CRAN,若被CRAN在总评成绩出来前接纳(以署名为凭),每位参与署名的同学总评增加10分。,4,SAS vs R,高富帅 vs 屌丝?,5,SAS参考书,朱世武SAS编程技术教程(清华大学出版社)杨池然SAS 9.2从入门到精通(电子工业出版社)阮桂海 SAS统计分析实用大全(清华大学出版社)谢龙汉SAS统计分析与数据挖掘(电子工业出版社),6,SAS简介,SAS=Statistical Analysis Software=SAS=Statistical Analysis System诞生于上世纪60-70年代。美国北卡罗来纳大学两名学生编制了程序雏形用于处理生物分析数据。历经发展,1976年成立SAS研究所,不断壮大,到今天成为全球最大的私有软件公司。SAS成为统计领域的国际标准软件,服务全球50,000多家企业。SAS的价值观“The Power to Know”美国公司调查,SAS认证被誉为“最有价值的认证”,7,数据分析软件的基本问题,怎样建立数据集?怎样进行数据分析(自己写代码,或利用现有函数)?输出图表,8,SAS基本界面,编辑窗、输出窗、日志窗SAS资源管理器,9,SAS处理流程,数据步、过程步,10,SAS的模块,SAS/BASE模块:核心模块。数据管理、交互环境管理、语言处理、调用其它模块SAS/STAT模块:覆盖几乎所有实用数理统计分析方法,是国际统计分析领域标准SAS/EM模块:企业级数据挖掘SAS/IML模块:功能强大面向矩阵运算的编程语言SAS/GRAPH模块:图形软件包,产生各种图表SAS/ASSIST模块:面向任务的菜单驱动界面,使用户可以通过菜单使用SAS其它产品SAS/INSIGHT模块:可视化数据探索工具SAS/CALC模块:电子表格软件SAS/ACCESS模块:各种流行数据库接口,11,逻辑库,对应于一条物理路径的逻辑名,用于存放SAS数据集和数据文件内置逻辑库,临时逻辑库Work(缺省存放处)人工建立的逻辑库都是永久的,12,建立逻辑库,先在硬盘上建立相应目录在编辑窗输入libname命令按F8或提交按钮提交命令,13,逻辑库连接数据库,libname oradb oracle user=scott password=tiger path=orcl;以上命令可以直接连接Oracle数据库,其它数据库操作类似,14,一个完整的数据步与过程步,data mydb.student;input id name$sex$score;cards;101 张三 男 98102 李四 男 87103 兰兰 女 95;run;proc print data=mydb.student(keep=id name score);run;,15,一个完整的数据步与过程步,16,删除逻辑库,删除后目录和数据在物理上依然存在,只是拆除了连接鼠标指向逻辑库,在右键菜单选择“删除”使用图形界面建立逻辑库,17,变量,命名规则:以字母或下划线开头,由字母、下划线、数字等组成,不区分大小写变量赋值data cr;y=1;z=abc;w=xyz;run;,18,例子,data sfz;length id$18.;input id sex$;cards;234567890098765988 M345432680102300670 F;run;proc print;run;,19,Date、time、datetime类型,date riq;cdate=3mar2010d;ctime=7:30t;cdatetime=6jan2010:8:18:30pmdt;run;proc print;format cdate yymmdd10.ctime time10.cdatetime datetime22.;run;,20,读文本文件中的数据,libname temp c:temp;%let f1=c:tempabc.txt;filename fil(,21,列指针控制读取,%let f2=c:tempabc1.txt;filename fin(,22,列控制符号,%let f2=c:tempabc1.txt;filename fin(,23,分隔符,%let f2=c:tempabc2.txt;filename fin1(,24,写外部文件,data _null_;set mydb.student;file c:tempstu1.txt;put id name$sex$score;run;,25,综合例子:抽取邮件,读入文本数据建立数据集%let f5=c:tempcsdn.txt;filename fin5(,26,再把email回写文本data _null_;set mydb.csdn;file c:tempcsdnemail.txt;length email$30.;put email$;run;,27,