首页 《R语言入门》PPT课件

《R语言入门》PPT课件

举报
开通vip

《R语言入门》PPT课件R语言入门Xu,Da-LeiPSGDC主题R语言的简介R语言的工具R语言编程R语言中的数学R语言的简介什么是R语言一个开放(GPL)的统计编程环境一种语言,是由S语言发展而来,S语言的另一个发展方向为S-Plus一种软件,是集统计分析与图形直观显示于一体的统计分析软件R语言的简介R项目R作为一个项目,最早(1995年)是由Auckland大学统计系的RobertGentleman和RossIhaka开始编制目前由R核心开发小组(RDevelopmentCoreTeam–以后用RDCT表示)维护可以通过R项目的网站(...

《R语言入门》PPT课件
R语言入门Xu,Da-LeiPSGDC主题R语言的简介R语言的工具R语言编程R语言中的数学R语言的简介什么是R语言一个开放(GPL)的统计编程环境一种语言,是由S语言发展而来,S语言的另一个发展方向为S-Plus一种软件,是集统计分析与图形直观显示于一体的统计分析软件R语言的简介R项目R作为一个项目,最早(1995年)是由Auckland大学统计系的RobertGentleman和RossIhaka开始编制目前由R核心开发小组(RDevelopmentCoreTeam–以后用RDCT表示)维护可以通过R项目的网站(http://www.r-project.org)了解有关R的最新信息和使用说明,得到最新版本的R软件和基于R的应用统计软件包资源网站:CRAN(ComprehensiveRArchiveNetwork)http://cran.r-project.org我们可以编制自己的函数来扩展现有的R语言R语言的简介R的安装为了显示图形,需要安装libX11-devel相关rpm包创建R的安装目录/usr/R从CRAN社区下载最新的R源码R-3.1.3.tar.gz将R源码文件R-3.1.3.tar.gz上传到Linux,例如放在dbadmin用户的home目录下使用命令tar-zxvfR-3.1.3.tar.gz解压文件进入解压后目录,运行./configure--enable-R-shlib--prefix/usr/R命令执行配置在解压目录中,运行make命令执行编译在解压目录中,运行makeinstall命令执行安装R语言的简介与其它语言的对比S-PlusR是完全免费的,而S-Plus是收费的我们将R程序容易地移植到S-Plus程序中,反之S的许多过程直接或稍作修改用于MatlabMatlab的语法更适合于矩阵操作,界面更加美观R有大量的新的且高质量的包可用R工具/运行平台RGUI平台:Windows安装:在Windows平台通过双击.exe文件来安装组成部分主菜单工具条RConsoleR工具/运行平台RCommander平台:Windows,Linux安装:通过install.packages(“Rcmdr”)命令来安装功能RCommander是一个交互式菜单/对话框系统,用于进行数据的读、写、转换及常用的统计分析添加了线性与广义线性模型等统计分析工具R工具/运行平台RWinEdit平台:Windows安装:在Windows平台通过双击.exe文件来安装主要功能提供一个类似UltraEdit的编辑工具提供LaTex/CTex的功能支持R工具/运行平台RStudio平台:Windows,Linux,Mac目前最好的R开发平台Linux下建议使用CentOS6HPVerticaDistributedR将会用到R语言编程基本原理同Matlab一样,R是一种解释性语言,语法非常的简单和直观,来看一些规则R的函数总是带有圆括号,例如:lm(y~x)表示以x为自变量,y为响应变量来拟合的一个线性模型如果直接输入函数名,则会显示该函数的一些具体 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 所有的变量、数据、函数、结果,都是以对象的形式存入内存所有的函数都被包含于一个库内,该库存放在R安装目录的library子目录名为base的包,是R的核心包包在使用之前,必须要加载,核心包不用R语言编程赋值输入一个对象名字,显示内容:>n[1]10其中:方括号中的数字1表示从n的第一个元素开始显示该命令的功能,等于函数print(n)R语言编程赋值为对象赋值:>n<-10>n[1]10>10->n>n[1]10其中:该符合可以是从左到右,也可以相反该命令的功能,等于函数assign(),还可以使用等号“=”R语言编程赋值只是输入函数或者表达式,而不把它的结果赋给某个对象,这样结果只在窗口展示,而不保存到内存,例如:>((10+2)*5-2^4)/4[1]13>sqrt(3)+exp(-2)[1]1.867386R语言编程数据结构R是通过一些对象来运行的所有的对象都有两个内在的属性:类型和长度,例如:>mode(x)[1]"numeric“>length(x)[1]1对象类型是否允许同一个对象中有多种类型向量数值型、字符型、复数型、逻辑型否因子数值型、字符型否数组数值型、字符型、复数型、逻辑型否矩阵数值型、字符型、复数型、逻辑型否数据框数值型、字符型、复数型、逻辑型是时间序列数值型、字符型、复数型、逻辑型否列表数值型、字符型、复数型、逻辑型、函数、表达式……是R语言编程数据结构浏览对象的信息,例如:>name<-"Carmen";n1<-10;n2<-100;m<-0.5>ls()[1]"m""n1""n2""name">ls.str()m:num0.5n1:num10n2:num100name:chr"Carmen">M<-data.frame(n1,n2,m)>print(ls.str(pat="M"),max.level=-1)M:'data.frame':1obs.of3variables:R语言编程数据结构向量:一组类型相同的变量组成的集合向量的建立seq():创建规律简单的向量rep():创建规律复杂的向量c():创建没有规律的向量scan():通过键盘逐个输入R语言编程数据结构因子向量变量可能的值离散的有序的,无序的R语言编程数据结构因子向量的建立,例如:factor(x,levels=sort(unique(x),na.last=TRUE),labels=levels,exclude=NA,ordered=is.ordered(x))>a<-c("green","blue","green","yellow")>a<-factor(a)a[1]greenbluegreenyellowLevels:bluegreenyellowR语言编程数据结构向量的计算向量与一个常数的加、减、乘、除,为向量的每一个元素与该常数的加、减、乘、除向量的乘方、开方、log,exp,sin,cos,tan等,为每一个元素的相应运算同样长度向量的加、减、乘、除,为位置相同的元素的加、减、乘、除不同长度的向量,长度必须是倍数关系,才能进行相应的运算R语言编程数据结构数组是一个k维的数据表,矩阵是k=2的数组,向量是k=1的数组数组的建立,例如:>A<-array(a,dim=c(3,4,2))#a是包含24个元素的向量>A<-array(1:8,dim=c(2,2,2))R语言编程数据结构矩阵的代数运算:转置函数t()提取对角元diag()矩阵的行合并rbind()矩阵的列合并cbind()矩阵的逐元乘积*矩阵的代数乘积%*%方阵的行列式det()R语言编程数据结构矩阵的统计运算:>m<-matrix(rnorm(n=12),nrow=3)>apply(m,MARGIN=1,FUN=mean)#求各行的均值[1]-0.25401480.54745830.1493290>apply(m,MARGIN=2,FUN=mean)#求各列的均值[1]-0.53890530.47315920.7821656-0.1260561>row.med<-apply(m,MARGIN=1,FUN=median)#求各行的中位数>sweep(m,MARGIN=1,STATS=row.med,FUN=”-”)#求各行减去中位数R语言编程数据结构数据框统计分析中一个完整的数据集,通常是由若干个变量的若干个观测值组成的数据框的建立>x=c(42,7,64,9)>y=1:4>z.df=data.frame(INDEX=y,VALUE=x)R语言编程数据结构列表可以包含任何类型的对象列表的建立>L2<-list(x=1:6,y=matrix(1:4,nrow=2))R语言编程数据结构由函数ts()通过一向量或者矩阵,创建一个一员的或多元的时间序列时间序列的建立ts(data=NA,start=1,end=numeric(0),frequency=1,deltat=1,ts.eps=getOption("ts.eps"),class,names)>ts(1:47,frequency=12,start=c(1959,2))R语言编程来看一个例子该例使用R内嵌的数据集mtcars.它位于datasets程序包,该程序包象base程序包一样,随R的启动自动加载数据集的浏览与编辑>?mtcars#数据的描述>mtcars#显示全部的32个观测值>head(mtcars)#仅显前6个观测值>names(mtcars)#显示11个指标>data.entry(mtcars)#通过R的二维图形,编辑数据集>MTcars<-edit(mtcars)#通过R的文本编辑器,编辑数据集>xnew<-edit(data.frame())#生成新的数据集,并进行编辑>fix(mtcars)#直接修改数据集R语言编程来看一个例子属性(指标)的分析>attach(mtcars)#挂接上数据集>mtcars$mpg#显示mpg指标下的值>table(cyl)#显示cyl指标的分布>barplot(table(cyl))#显示cyl指标的频率直方图R语言编程来看一个例子数值型数据的分析>stem(mpg)#画茎叶图>hist(mpg)#画直方图>boxplot(mpg)#画框须图>mean(mpg)#计算平均值>mean(mpg,trim=.1)#计算截去10%的平均值>tapply(mpg,cyl,mean)#按照分组变量cyl计算mpg的分组的平均值>mean(mpg[cyl==4])#计算cyl为4的那些mpg的平均值>IQR(mpg)#计算四分位数的极差R语言编程来看一个例子数值型数据的分析>quantile(mpg)#计算样本常用的分位数>fivenum(mpg)#极大、极小、中位数、两个四分位数>probs=c(0.1,0.5,99.5)/100.#计算由prob给定的各概率处的样本分位数>quantile(mpg,probs)>summary(mpg)#计算常用的描述性统计量>sd(mpg)#计算标准差>mad(mpg)#计算中位绝对离差R语言编程来看一个例子寻找二元关系>plot(cyl,mpg)#画二维散点图>plot(hp,mpg,pch=cyl)#画三维效果的散点图>legend(250,30,pch=c(4,6,8),legend=c("4cylinders","6cylinders","8cylinders"))>z<-lm(cyl~mpg)#拟合线性回归>cor(cyl,mpg)#相关系数考查回归拟合好坏的程度>lm.res<-lm(cyl~mpg)#将回归分析的结果,保存到lm.res中>lm.resids<-resid(lm.res)#提取残差向量>plot(lm.resids)#考查残差的散点图>hist(lm.resids)#考查残差的直方图>qqnorm(lm.resids)#残差的QQ图是否落在直线上R语言编程结构控制条件语句>if(x>=0)sqrt(x)elseNA>ifelse(x>=0,sqrt(x),NA)循环>for(iin1:5)print(1:i)>i=1>while(i<=5){print(1:i)i=i+1}R语言编程WorkspaceR运行的内存区域,可以保存到硬盘每个RConsole中的操作,都在Workspace中进行在RConsole里使用的变量、定义的函数,都保存在Workspace中常用命令>save.image()>ls()>rm(list=ls(all=TRUE))>gc()R语言编程程序包程序包提供了一个加载所需代码、数据和文件的集合。R软件自身就包含大约30种不同功能的包,这些基本包提供了R软件的基本功能区分两个重要的概念安装加载R语言编程程序包程序包的基本结构package(包的名字)||--DESCRIPTION(描述文件,包括包名、版本号、标题、描述、依赖关系等)|--NAMESPACE(包的命名空间文件)|--R(函数源码)|--function1.R|--function2.R|--...|--man(帮助文档,存放函数说明文件的目录)|--function1.Rd|--Package.Rd|--...|--...R语言编程程序包制作R包的工具软件RtoolsCYGWIN:用以在windows环境模拟UNIX环境MinGW编译器:用以编译C和Fortran语言Perl编译器,用以编译Perl语言R语言编程程序包编辑源代码编写.r函数源代码,也就是用来生成R程序包的函数脚本。在本文的演示中,假如现在我们已经有了一个编好的R函数Hello,用来在屏幕上输出问候:hello<-function(name){print(paste(“Hello”,name))}存成了r脚本的格式,文件名为Hello.rR语言编程程序包生成相关帮助文件>rm(list=ls())#清空R工作内存>setwd("D:/R-Pkg-Produce")#设定工作目录>package.skeleton(name="hello",code_files="D:/R-Pkg-Produce/hello.r")#将待打包函数装载进工作内存,构建R包文件结构,生成相应的文件夹及其下面的文件,包名为“hello”,文件是“hello.r”R语言编程程序包相关文件的编辑在目录D:\R-Pkg-Produce下,会自动生成一个与R包名字相同的文件夹该文件夹下的内容就是R包的基本框架,包括Read-and-delete-me,DESCRIPTION文件,Rd文件用文本编辑器,或者RStudio打开相应的文件,按要求将其填写完整,再进行相应的编译R语言编程程序包生成zip文件或者.tar.gzcdD:/R-Pkg-Produce#将工作目录更改至先前设定的R包路径下RCMDcheckD:/R-Pkg-Produce/hello#检查r包helloRCMDbuildD:/R-Pkg-Produce/hello#编译生成zip或.tar.gz文件R语言编程程序包测试程序包>install.packages(“/home/dbadmin/hello_1.0.tar.gz",repos=NULL,type="source")#安装新生成的程序包>library(hello)#加载程序包>hello(“world”)#调用函数[1]"HelloworldR语言编程程序包常用命令>.libPaths()#查看程序包的安装目录>library()#查看已经安装的程序包的目录>load("mypackage")#加载名为mypackage的程序包>remove.packages("mypackage")#卸载名为mypackage的程序包>installed.packages()#查看已安装程序包的信息>installed.packages(“mypackage”)#安装mypackage程序包>library(“mypackage”)#载入名为mypackage的程序包>getOption("defaultPackages")#查看启动R时自动载入的程序包>help(package='mypackage')#查看程序包mypackage的帮助>demo("mypackage")#展示名为mypackage的程序包中demo>RSiteSearch("mypackage")#搜索名为mypackage的程序包的相关信息>search()#查看当前载入的程序包>sessionInfo()#查看当前载入的程序包R语言编程绘图绘图函数points(x,y):添加点lines(x,y):添加线text(x,y,labels):在(x,y)处添加用labels指定的文字abline(a,b):绘制斜率为b和截距为a的直线rect(x1,y1,x2,y2):绘制长方形R语言编程绘图绘图函数plot(x):以x的元素的值为纵坐标、以序号为横坐标绘图plot(x,y):在x轴上的x,与在y轴上的y的二元作图sunflowerplot(x,y):类似plot(x,y),但是以相似坐标的点作为花朵,其花瓣数目为点的个数pie(x):饼图boxplot(x):盒图stripchart(x):把x的值华在一条线段上coplot(x~y|z):关于z的每个数值(或数值区间),绘制x与y的二元图R语言编程绘图绘图函数的参数add=FALSE:如果是TRUE,叠加图形到前一个图上axes=TRUE:如果是FALSE,不绘制轴与边框type=”p”:指定图形的类型xlim=,ylim=:指定轴的上下限xlab=,ylab=:坐标轴的标签main=:主标题sub=:副标题R语言编程绘图的例子R的数据集Puromycin>dim(Puromycin)[1]233>head(Puromycin)concratestate10.0276treated20.0247treatedR语言编程绘图的例子散点图>PuroA<-subset(Puromycin,state=="treated")>plot(rate~conc,data=PuroA)>u<-1:25>plot(u~1,pch=u,col=u,cex=3)>plot(rate~conc,data=PuroA,pch=2,col=4,cex=2.5,xlim=c(0,1.2),ylim=c(40,210),ylab="Concentration",xlab="Rate",cex.lab=2)>title(main="Puromycin",cex.main=3)R语言编程绘图的例子画线>library(doBy)>plot(rate~conc,data=PuroA)>PuroA.mean<-summaryBy(rate~conc,data=PuroA,FUN=mean)>plot(rate~conc,data=PuroA,pch=16,col=4,cex=1.5)>points(rate.mean~conc,data=PuroA.mean,col="cyan",lwd=10,pch="x")>lines(rate.mean~conc,data=PuroA.mean,col="blue")R语言编程绘图的例子保存绘图到文件>setwd(“/home/dbadmin")>future1=paste(“test01",".jpg")>jpeg(file=future1)…>dev.off()R语言编程数据的存储与读取保存到文本例如有一个数据框>d<-data.frame(obs=c(1,2,3),treat=c("A","B","A"),weight=c(2.3,NA,9))保存为简单的文本文件>write.table(d,file="c:/data/foo.txt",row.names=F,quote=F)保存为逗号分割的文本文件>write.csv(d,file="c:/data/foo.csv",row.names=F,quote=F)保存为R格式文件>save(d,file="c:/data/foo.Rdata")R语言编程数据的存储与读取文本文件的读取使用函数read.table()>setwd(“/home/dbadmin/data")>HousePrice<-read.table(file="houses.dat")我们先建立的文件M65168M70172F54156通过scan()函数读入文件,它指定了变量的类型>mydata<-scan("data.dat",+what=list(Sex="",Weight=0,Height=0))R语言编程数据的存储与读取文本文件的读取我们先建立的文件A1.501.2B1.601.4C1.701.6函数read.fwf()可以用来读取文件中一些固定宽度格式的数据>mydata<-read.fwf("data.txt",widths=c(1,4,3),col.names=c("X","Y","Z"))XYZ1A1.501.22B1.601.43C1.701.6R语言编程数据的存储与读取Excel文件的读取使用RODBC程序包>library(RODBC)>z<-odbcConnectExcel("c:/data/body.xls")>foo<-sqlFetch(z,"Sheet1")>close(z)R语言编程数据的存储与读取数据库的访问>library(RMySQL)#willloadDBIaswell#openaconnectiontoaMySQLdatabase>con<-dbConnect(dbDriver("MySQL"),dbname="test")#listthetablesinthedatabase>dbListTables(con)#loadadataframeintothedatabase,deletinganyexistingcopy>data(USArrests)>dbWriteTable(con,"arrests",USArrests,overwrite=TRUE)TRUE>dbListTables(con)[1]"arrests"R语言编程数据的存储与读取数据库的访问##getthewholetable>dbReadTable(con,"arrests")MurderAssaultUrbanPopRapeAlabama13.22365821.2...##Selectfromtheloadedtable>dbGetQuery(con,paste("selectrow_names,Murderfromarrests","whereRape>30orderbyMurder"))row_namesMurder1Colorado7.92Arizona8.1…>dbRemoveTable(con,"arrests")>dbDisconnect(con)R语言编程在线帮助通过help.start()来打开帮助模糊匹配相关的帮助,例如:>help.search("char")rebuild选项如果有一些包是刚刚安装的,则必须使用rebuild选项来重新编制索引>help.search("tree",rebuild=TRUE))只在加载的包里进行,对函数名进行模糊匹配>apropos(help)R语言编程在线帮助获取函数的帮助,例如:>help(myfunction)?myfunctiontry.all.packages选项默认情况下,我们只在加载的包中进行搜索如果要在所有的包中进行搜索,则使用该选项,例如:>help(“bs”,try.all.packages=TRUE)#该搜索只是指出函数所作包package选项可以在指定的package里进行搜索,例如:>help(“bs”,package=“splines”)#该搜索返回函数详细信息R语言编程在线帮助查找没有载入程序包内的函数,例如:>help(“myfunction”,package=“mypackage")查找函数所在的程序包,例如:>find(“myfunction”)查函数的变量,例如:>args(“myfunction”)R语言中的数学概率论与数理统计概率刻画事件(随机现象)出现的可能性大小的一种数量指标本身固有,客观概率论研究随机现象数量规律的数学分支数理统计研究如何用有效的方法,去收集、整理、分析、推断数据资料的数学分支R语言中的数学概率论与数理统计分析问题的思路建模探索型数据分析参数估计方差分析回归分析R语言中的数学概率论与数理统计随机试验概率论中的试验可重复的、条件相同的、多个结果的试验样本点每个随机试验的的结果样本空间所有的样本点组成的集合R语言中的数学概率论与数理统计随机事件随机试验的样本空间中的子集随机变量设试验E的样本空间为Ω,如果对每一个样本点ɷ属于Ω,都有唯一的实数X(ɷ)与之对应,则称X=X(ɷ)为样本空间Ω上的随机变量R语言中的数学概率论与数理统计分布函数假设X是一个随机变量,x是任意一实数,则函数F(X)=P{X<=x}称为随机变量X的概率分布函数密度函数假设随机变量X的分布函数为F(X),如果存在一个函数f(x),对于任意的实数x,都有则称X为连续型随机变量,f(x)为X的概率密度函数R语言中的数学概率论与数理统计常见分布贝努力分布二项分布泊松分布指数分布正态分布分布名称R名称选项betabetashape1,shape2binomialbinomsize,probCauchycauchylocation=0,scale=1chi-sqauredchisqdf,ncpexponentialexprateFisher-Snedecorfdf1,df2,ncpgammagammashape,scale=1PoissonpoislambdaNormalnormmean=0,sd=1R语言中的数学概率论与数理统计正态分布正态分布是概率论与数理统计中最重要的一个分布.中心极限定理表明,一个变量如果是由大量微小的、独立的随机因素的叠加结果,那么这个变量已定是正态分布,因此许多随机变量可以用正态分布描述正态分布的定义:若随机变量X的概率密度函数为:其中x是负无穷到正无穷的任一实数,μ,σ为常数,且σ>0,则称随机变量X服从参数μ,σ的正态分布,记为X~N(μ,σ^2).R语言中的数学概率论与数理统计数学期望我们在研究随机变量的平均值的时候,不仅要考虑它的取值,还应该考虑到取值对应的概率,即:数学期望,记为E(X)方差设X为随机变量,如果E[X-E(X)]^2存在,则称它为X的方差,即为D(X),即:D(X)=E[X–E(X)]^2R语言中的数学概率论与数理统计回归分析假设随机变量Y与变量X的关系非常密切,但不是确定的函数关系,变量之间的这种关系称为相关关系回归分析就是研究相关关系的数理统计方法线性回归假设随机变量Y的值有两部分组成:一部分是由X决定的,它是X的函数,一部分是由众多其它因素决定的(随机或非随机)我们可以得到模型Y=f(X)+ɛ,该模型称为一元线性回归R语言中的数学概率论与数理统计分位数分位数(Quantile),亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点常用的有中位数、四分位数、百分位数等四分位数四分位数(Quartile)是统计学中分位数的一种,即把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数极差随机变量的最大值与最小值之间的差距残差在回归分析中,测定值与按回归方程预测的值之差Questions&AnswersHPVerticaDistributedRTobecontinued…感谢亲观看此幻灯片,此课件部分内容来源于网络,如有侵权请及时联系我们删除,谢谢配合!
本文档为【《R语言入门》PPT课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:ppt
大小:703KB
软件:PowerPoint
页数:0
分类:
上传时间:2021-01-25
浏览量:133