数据科学导论课件第二章R入门.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据科学导论课件第二章R入门.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 科学 导论 课件 第二 入门
- 资源描述:
-
1、1数据科学导论 第二章 R 入门2主要内容一 R简介二 R安装和运行三 试试R编程3一 R 简介4什么是R?R官网首页的图形R是一种统计绘图、统计分析语言,也指实现该语言的软件.The R Project for Statistical Computing 5简 史 R语言是从S统计绘图语言演变而来,可看作S的“方言”.S语言诞生于上世纪70年代的贝尔实验室,由Rick Becker,John Chambers,Allan Wilks开发.基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广.1995年,新西兰Auckland大学统计系的Ro
2、bert Gentleman和Ross Ihaka,基于S语言的源代码,编写了能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言.6R的特点多领域的统计资源 目前在R网站上约有15157个程序包,涵盖了基础统计学、社会学、计量经济学、机器学习、自然语言处理、空间分析、生物信息学等诸多方面.跨平台 R可在多种操作系统下运行,如Windows、MacOS、Linux和UNIX等。命令行驱动 R即时解释,输入命令,即可获得相应的结果.7为什么选择R?丰富的资源:涵盖多种行业数据分析中几乎所有的方法.良好的扩展性:方便编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制
3、精美的图形.完备的帮助系统:所有函数都有详细说明,包括变元的性质,缺省值,输出值,方法说明以及参考文献等.多数函数的说明都有例子,把这些例子的代码复制并粘贴到R 界面就可以立即得到结果,十分方便.GNU软件:免费、软件本身及程序包的源代码公开,可以修改,透明方便.大量国外新出版的统计方法专著都附带有R 程序.8R及其他统计软件SAS:速度快,有大量统计分析模块,可扩展性稍差,昂贵.SPSS:复杂的用户图形界面,简单易学,但编程十分困难.Splus:运行S语言,具有复杂的界面,与R完全兼容,昂贵.Python 当然此处少不了Python,本章第二部分我们进一步介绍.9R_GUI(graphic
4、users interface)启动R,看到R GUI 的主窗口,由三部分组成 主菜单 工具条 R console(R的运行窗口,控制台)R console 主要工作在这里通过发布命令来完成 得到在线帮助 help.start()HTML格式的关于R的帮助文件 help()得到相应函数的帮助,例如help(plot)demo()得到R提供的几个示例 q()退出R 同Matlab类似,用右shift键可以重现以前的命令10 R登陆界面(Windows版)建议安装英文菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入等待输入打开R 之后会出现“Console”界面,在提示码“”后逐行输入指
5、令即可以实现R 的运算.11主菜单介绍多种运行平台 R_GUI(graphic users interface)R_Commander R_WinEdt R_ESS+XEmacs R_GUI(graphic users interface)+Rstudio(集成环境)1213R软件首页 http:/www.r-project.org/14CRANThe Comprehensive R Archive Network 简称CRAN,由世界多个镜像网站组成网络,提供下载安装程序和相应软件包.各镜像更新频率一般为1-2天.中国的镜像:即时更新的CRAN源 http:/cran.r-project.o
6、rg/15二 R 安装和运行16Windows下载和安装RCRAN:BinariesWindowsbase 下载后 双击R-3.6.2-win.exe 开始安装.一直点击下一步,各选项默认,语言建议选英文.注:注:根据自身电脑操作系统的位数选择,但64位系统可全选,因为64位向下兼容32位系统.17 R登陆界面(Windows版)路径:开始所有程序R-3.6.2菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入等待输入RStudioRStudio官网:https:/ 进入下载页面后,可以发现有Desktop和Server两个版本.18单击【DOWNLOAD RSRUDIO DESKTO
7、P】进入下载页面,根据自己电脑的操作系统选择下载的版本,如:操作系统是win7,则选择【RStudio 0.99.903-Windows Vista/7/8/10】,下载得到【RStudio-0.99.903.exe】.19安装RStudiostep1step1、双击【、双击【RStudio-0.99.903.exeRStudio-0.99.903.exe】进行安装】进行安装.step2step2、选择安装位置、选择安装位置,可自行更改安装路径可自行更改安装路径.Step3Step3、安装完成、安装完成20RStudio IDE功能介绍2122三 试试 R 编程试试R编程 包、函数与对象 R对
8、象的类 脚本编程 R绘图 编写函数 数据保存23R程序包(R Packages)程序包是什么?R程序包是多个函数的集合,拥有详细的说明和示例.每个程序包都 包含R函数、数据、帮助文件、描述文件等.为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现.例如:聚类分析可以选择cluster程序包.24常用R程序包太多tseries时间序列分析rpart 树分析bootBootstrap检验cluster聚类分析TM文本分析Survival 生存分析25Graphics绘图lattice栅格图mvpart多变量分解fmri医学影像分析nnet神经网络ggplot2高阶图形
9、26 CRAN Task Views:对程序包的分类介绍CRAN Task Views程序包功能分类目录rpart 包界面示例27非常好用的帮助文档和不同平台上的程序包28安装程序包的方法1 用函数 install.packages()如已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包.例如:要安装rpart包,在控制台中输入 install.packages(“rpart)2 安装本地zip包路径:Packagesinstall packages from local files选择本地磁盘上存储zip包的文件夹.29程序包使用程序包中的函数,需要先导
10、入,再使用,因此导入程序包是第一步.在控制台中输入如下命令:library(TimeSeries)library(rpart)程序包内函数的用法与R内置的基本函数用法一样.library(rpart)查看程序包帮助文件 rpart 程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:菜单 帮助Html帮助 查看pdf帮助文档3031R函数的帮助文档函数怎么使用?函数怎么使用?使用时需要注意什么问题?使用时需要注意什么问题?如何需要查询如何需要查询函数的帮助函数的帮助.1?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.te
11、st)5 help.search(t.test)6 查看查看R包包pdf手册手册体会一下什么叫精确检索?什么叫模糊检索?快速找到你想要的东西.熟练运用R帮助是你快速学习R的关键.32R帮助文件的内容与格式33帮助文档的内容有哪些 lmstats#函数名及所在包 Fitting Linear Models#标题 Description#函数描述 Usage#默认选项 Arguments#参数 Details#详情 Author(s)#作者 References#参考文献 Examples#举例 通过例子直接上手,在使用中体会实践!实践!实践!实践!实践!实践!对于任何一门编程语言,动手实践至关重
12、要.如果你不愿意弄湿游泳衣,即使你的教练是世界游泳冠军,即使你在教室里听了几百个小时的课,你也永远学不会游泳.如果你不开口,即使你熟记了字典中所有英文单词的音标,即使你完全明白英语语法,你也永远不会说英语.34赋值与注释在控制台中键入如下命令(R命令窗口区分大小写,区分中英文)1+1a-2;ab-5c-a+b#计算a+b的和并赋值给cc#表示注释35赋值符号,代替36R的函数R是一种解释性语言,输入后可直接给出结果.功能靠函数实现.函数形式:函数(输入数据,参数=)如果没有指定,则参数的值以默认值为准.例如:平均值 mean(x,trim=0,na.rm=FALSE,.)线性模型 lm(yx,
13、data=test)R的函数每一个函数执行特定的功能,后面紧跟括号,如:平均值 mean()求和 sum()绘图 plot()排序 sort()除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数.如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,这就是面向对象编程的思想.3738R有哪些函数?查询的方法:查询的方法:HelpHtml helppackageslog()log10()exp()sin()cos()asin()acos()binom.test()fisher.test()chisq.test()glm
14、(y x1+x2+x3,binomial)mean()sd()var().直接上手X1=log(100);X2=log10(100)x=1:100#把1,2,.,100这个整数向量赋值到x(x=1:100)#同上,只不过显示出结果sample(x,20)#从1,2,.,100中随机不放回地抽取20个值set.seed(0);sample(1:10,3)#先设随机种子再抽样#从1,2,.,200000中随机不放回地抽取10000个值作为样本:z=sample(1:200000,10000)z1:10#方括号中为向量z的下标39直接上手 y=c(1,3,7,3,4,2)zy#以y为下标的z的元素值
15、(z=sample(x,100,rep=T)#从x中有放回地随机抽取100个值(z1=unique(z)length(z1)#z中不同元素的个数 xz=setdiff(x,z)#x和z之间的不同元素-集合差 sort(union(xz,z)#对xz及z的并的元素从小到大排序4041一些简单运算 pi*102#能够用?*、?等来看某些基本算子的帮助,pi是圆周率 pi*(1:10)-2.3#可以对向量求指数幂 x=pi*102;print(x)(x=pi*102)#赋值带打印 pi(1:5)#指数也可以是向量 print(x,digits=12)#输出x的12位数字复数运算、求函数极值、多项式的
16、根(2+4i)-3.5+(2i+4.5)*(-1.7-2.3i)/(2.6-7i)*(-4+5.1i)#复数运算#构造一个10维复向量,实部和虚部均为10个标准正态样本点:(z-complex(real=rnorm(10),imaginary=rnorm(10)complex(re=rnorm(3),im=rnorm(3)#3维复向量 Re(z)#实部 Im(z)#虚部 Mod(z)#模42复数运算、求函数极值、多项式的根Arg(z)#辐角choose(3,2)#组合factorial(6)#排列6!#求函数极值f=function(x)x2+2*x+1#定义一个二次函数optimize(f,
17、c(-2,2)#在区间(-2,2)内求极值curve(f,from=-3,to=2)#在区间(-3,2)内画函数f图像polyroot(c(1,2,2,4,-9,8)43数据输入和输出 x=scan()#屏幕输入,可键入或粘贴,多行输入在空行后按Enter键 1.5 2.6 3.7 2.1 8.9 12-1.2-4 x=c(1.5,2.6,3.7,2.1,8.9,12,-1.2,-4)#等价于上面代码 w=read.table(file.choose(),header=T)#从列表中选择有变量名的数据 setwd(f:/mydata)#建立工作路径(x=rnorm(20)#给x赋值20个标准正
18、态数据值#(注:有常见分布的随机数、分布函数、密度函数及分位数函数)44数据输入和输出write(x,test.txt)#把数据写入文件(路径要对)y=scan(test.txt);y#扫描文件数值数据到yy=iris;y1:5,;str(y)#iris是R自带数据write.table(y,test.txt,row.names=F)#把数据写入文本文件w=read.table(test.txt,header=T)#读带有变量名的数据str(w)#汇总write.csv(y,test.csv)#把数据写入csv文件v=read.csv(test.csv)#读入csv数据文件data=read.
19、table(clipboard)#读入剪贴板的数据45R的对象 R处理的所有数据、变量、函数和结果都以对象的形式保存.对象是由元素组成的.常见的对象的类:向量、矩阵、因子、数据框、数组、列向量、矩阵、因子、数据框、数组、列表表46元素的类型对象是由各元素组成的.每个元素,都有自己的数据类型.数值型 Numeric 如 100,0,-4.335字符型 Character 如“China”逻辑型 Logical 如TRUE,FALSE因子型 Factor 表示不同类别 如:男,女复数型 Complex 如:2+3i48对象的类(class)向量(vector)一系列元素的组合如 c(1,2,3);
20、c(a,a,b,b,c)因子(factor)因子是一个分类变量c(a,a,b,b,c)矩阵(matrix)二维的数据表,是数组的一个特例x-1:12;dim(x)=3)数据框(dataframe)是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型列表(list)列表可以包含任何类型的对象 可以包含向量、矩阵、高维数组,也可以包含列表50运算符数学运算 运算后给出数值结果+,-,*,/,(幂幂)比较运算 运算后给出判别结果(TRUE FALSE),=,=,!=逻辑运算 与、或、非!,&,&,|,|R对象命名1.区分大小区分大小写,注意China和china的不同.2.不
21、能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与与result2,后者是合法的。3.建议不要用过短的名称.可用”.”作间隔,如 anova.result1.4.不要使用保留名:NA,NaN,pi,LETTERS,letters,month.abb,month.name5152向量的创建四种类型的向量字符型character-c(China,Korea,Japan,UK,USA,France,India,Russia)数值型numeric-c(1,3,6,7,3,8,6,4)逻辑型logical-c(T,F,T,F,T,F,F,T)复数型 略向量的创建生成向
22、量的函数 c(),rep(),seq(),z=seq(-1,10,len=100)#从-1到10等间隔的100个数(z=seq(10,-1,-0.1)#10到-1间隔为-0.1的序列(x=rep(1:3,3)#三次重复1:3(x=rep(3:5,1:3)#自己看,这又是什么呢?x=rep(c(1,10),c(4,5)w=c(1,3,x,z);w3#把数据组合(combine)成一个向量x=rep(0,10);z=1:3;x+z#向量加法(如长度不同,R给出警告)5354产生随机数向量runif(10,min=0,max=1)rnorm(10,mean=0,sd=1)几个随机数的相关函数几个随机
23、数的相关函数概率密度 dunif(x,min=0,max=1,log=FALSE)累积函数 punif(q,min=0,max=1,)分位数 qunif(p,min=0,max=1,)随机均匀分布 runif(n,min=0,max=1)向量的运算与引用x*z#向量乘法rev(x)#颠倒次序z=c(no cat,has,nine,tails)#字符向量z1=no cat#双等号为逻辑等式z=1:5;z7=8;z#什么结果?注:NA为缺失值(not available)z=NULL;zc(1,3,5)=1:3;zrnorm(10)c(2,5)z-c(1,3)#去掉第1、3元素z=sample(1
24、:100,10);zwhich(z=max(z)#给出最大值的下标55字符型向量和因子型变量 a=factor(letters1:10);a#letters:小写字母向量,LETTERS:大写 a3=w#不行!会给出警告 a=as.character(a)#转换一下 a3=w a;factor(a)#两种不同的类型56字符型向量和因子型变量#定性变量的水平:levels(factor(a);sex=sample(0:1,10,r=T)sex=factor(sex);levels(sex)#改变因子的水平:levels(sex)=c(Male,Female);levels(sex)#确定水平次序
25、:sex=ordered(sex,c(Female,Male);sexlevels(sex)5758矩阵的创建生成矩阵的函数 dim()和和matrix()dim()定义矩阵的行列数定义矩阵的行列数,例如例如:x-1:12 dim(x)-c(3,4),1,2,3,4 1,1 4 7 10 2,2 5 8 11 3,3 6 9 12 matrix.x 0);all(x!=0);any(x0);(1:10)x0#逻辑符号的应用diff(x)#差分diff(x,lag=2)#差分x=matrix(1:20,4,5);x#矩阵的构造x=matrix(1:20,4,5,byrow=T);x#矩阵的构造,
展开阅读全文