欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

    R语言基础培训第一讲 R语言入门ppt课件.ppt

    • 资源ID:1377166       资源大小:1.76MB        全文页数:65页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    R语言基础培训第一讲 R语言入门ppt课件.ppt

    R语言入门,2,什么是R?,R是一种统计绘图语言,也指实现该语言的软件。,The R Project for Statistical Computing,3,为什么要学会R?,SPSS(Statistical Package for the Social Sciences)的发明者诺曼奈伊(Norman Nie)说: “没有什么统计概念是R不能表现的。,5,R简 史,R语言是从S统计绘图语言演变而来,可看作S的方言。 S语言上世纪70年代诞生于贝尔实验室,由约翰钱伯斯(John Chambers)开发。 基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广,对SPSS和 SAS有力冲击。 1995年由新西兰Auckland大学统计系的罗斯艾卡(Ross Ihaka)和罗伯特简特曼(Robert Gentleman),基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。,R 的起源,Robert Gentleman,Ross Ihaka,自1997年以后,有一个核心团队,这一团队能对 R 的源代码进行修改。,7,R的优点,多领域的统计资源 目前在R网站上约有8230个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。免费开源统计分析能力突出作图功能强大拓展与开发能力强,8,R的缺点,用户需要对命令熟悉 与代码打交道,需要记住常用命令。帮助系统均为英文占用内存 所有的数据处理在内存中进行,不适于处理超大规模的数据。运行速度稍慢 即时编译,约相当于C语言的1/20。,如何学习R?,熟悉语法训练思维善于求助熟能生巧保持兴趣,Never too late and too old to learn R ,10,R软件首页 http:/www.r-project.org/,11,Windows下载和安装R,下载完成后,双击R-3.2.4-win.exe 开始安装。一直点击下一步,各选项默认,语言建议选英文。,12,图 4 R登陆界面(Windows版)路径: 开始所有程序R 3.2.4,菜单栏,快捷按钮,控制台,光标:等待输入,13,R图形界面:Rstudio,Rstudio是R的图形界面之一,可以让 R 语言代码更直观、明了地运行。 RStudio 同样 是 免费 和 开源 的 ,可以在网站上自由下载与使用(http:/ 开始安装。,RStudio 有以下几大优点:,代码字体高亮,代码完整性智能识别、自动缩进;可直接执行 R 程序代码;可运行多个 R 程序;可直接浏览工作表和数据;可随意缩放绘制的图形,并且有多种输出格式;整合 R 帮助和 R 使用文档;可查看 R 命令的运行记录。,15,17,R程序包(R Packages),程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包? R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。,18,install.views(Environmetrics),19,三种平台上的程序包,20,R程序包,在CRAN 提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Package source: vegan_1.17-2.tar.gz MacOS X binary: vegan_1.17-2.tgz Windows binary: vegan_1.17-2.zip Reference manual: vegan.pdf Window下程序包为zip文件,安装时不要解压缩。,21,安装程序包的方法,1 菜单安装在联网的条件下,按菜单栏【程序包】下拉选择【安装程序包】 ,选择所需的程序包进行实时安装;2 联网命令安装例如: 要安装vegan包,在控制台中输入 install.packages(vegan)3 本地安装路径:Packagesinstall packages from local files选择本地磁盘上存储zip包的文件夹。4 脚本安装在联网的条件下,请运行Rpackages.install.R程序,即可完成本培训所需的程序包安装。,22,程序包使用与更新,程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(lattice)library(ggplot2)所有程序包的更新update.packages()注意:R 命令对大小写敏感,因此使用命令方式安装和载入程序包时应特别注意。,23,查看程序包帮助文件,vegan 程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1 菜单 帮助Html帮助2 查看pdf帮助文档,24,查看函数的帮助文件,函数的默认值是什么? 怎么使用? 使用时需要注意什么问题? 需要查询函数的帮助。1 ?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看R包pdf手册,25,26,帮助文件的内容,t.teststats #函数名及所在包 Fitting Linear Models #标题Description #函数描述Usage #默认选项Arguments #参数Details #详情Author(s) #作者References #参考文献Examples #举例,27,练习一 安装R并导入程序包,1. 安装R和Rstudio软件、熟悉菜单2. 本地安装程序包: vegan3. 调用程序包,查看程序包的帮助library(vegan)查找vegan包中cca函数的帮助输入 ?cca(试试?cca)将其中的Example粘贴到控制台中,查看运行的结果。,R数据集创建,数据创建 向量,数组,矩阵,数据框,列表,因子数据输入 scan(),csv文件,excel文件,sas数据数据存储 write.table(), write.csv(), save(),向量vector,概念:用于存储数值型、字符型或逻辑型数据的一维数组。 例子: a - c(1, 2, 5, 3, 6, -2, 4) # 数值型向量 b - c(one, two, three) # 字符型向量 c - c(TRUE, TRUE, TRUE) # 逻辑型向量 注意:单个向量中的数据必须是相同的类型(数值型、字符型或逻辑型)。,创建重复的向量, rep(2:5, 2) # 等价于 rep(2:5, times = 2) 1 2 3 4 5 2 3 4 5 rep(2:5, rep(2, 4) 1 2 2 3 3 4 4 5 5 rep(1:3, times = 4, each = 2) 1 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3 paste(c(X,Y), 1:10, sep = -) #不规则1 X-1 Y-2 X-3 Y-4 X-5 Y-6 X-7 Y-8 X-9 Y-10 rep(factor(LETTERS1:3), 5) 1 A B C A B C A B C A B C A B C Levels: A B C,向量中元素的访问,a a3 1 5 # 向量 a 中第一、三、五个数据 ac(1, 3, 5) 1 1 5 6 # 向量 a 中第二到第六个数据 a2:6 1 2 5 3 6 -2,# 向量 a 中数值大于 3 的所有数据 aa3 1 5 6 4 # 去掉第一个值 a-1 1 2 5 3 6 -2 4 # 去掉前三个值 a-1:-31 3 6 -2 4,矩阵matrix,概念:一个二维数组#创建一个 22 的矩阵 matrix(1:4, nrow = 2, ncol = 2) ,1 ,2 1, 1 3 2, 2 4 # 生成单位阵 diag(3) ,1 ,2 ,3 1, 1 0 0 2, 0 1 0 3, 0 0 1,mat1-matrix(1:12,3,4, byrow=T)mat2-matrix(1:12,3,4, byrow=F),矩阵子集(元素)的提取, x x2,2 # 第二行、第 2 列的元素 1 4 x2, # 第二行的所有元素 1 2 4 6 x ,2 # 第 2 列的所有元素 1 3 4 x2, c(2, 3) # 第二行中第 2、3 列的元素 1 4 6,数据框data frame,使用函数 data.frame( )创建: mydata patientID age diabetes status patientdata patientdata1:2 # 第 1、2 列的所有元素 patientdata$age # $符合用于选取一个指定的变量。,列表list,R 数据类型中最为复杂的一种数据结构。列表就是包含任何类型的对象,可以是若干向量、矩阵、数据框,甚至其他列表的组合。通过函数 list( )来创建: mylist g h j k mylist - list(title = g, ages = h, j, k),因子factor,概念:是一种向量对象,它给自己的组件指定了一个离散的分类(分组),它的组件由其他等长的向量组成。用函数 factor( )创建一个因子,levels 按序(字母序或数值序)排列。#为 province 创建因子 province pf pf 1 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏 Levels: 湖南 江苏 四川,数据的输入,1 键盘输入mydata - data.frame(age = numeric(0), gender = character(0), weight = numeric(0) ) mydata - edit(mydata) # 输入或修改 mydata 中的数据2 使用 scan()函数mydata - scan( file = ex.data, what = list(, 0, 0 ) #将压缩型数据读入一个向量或列表3 导入 csv 文件mydata2 - read.table( file = D:/dbh.csv, header = T, sep = , ) mydata3 - read.csv( file = D:/dbh.csv, header = T) 4 网络中读取表格或csv文件tbl-read.csv(http:/,5 导入 Excel 数据library(RODBC)channel - odbcConnectExcel( d:/test.xls )mydata - sqlFetch( channel, Sheet1 )channel2 - odbcConnectExcel2007( d:/test.xlsx )mydata2 - sqlFetch( channel, Sheet1 )6 导入 SAS 数据library(foreign)mydata - read.sas( d:/test.ssd )library(Hmisc)data - sas.get( D:/test.ssd )7 导入 SPSS 数据library(foreign)mydata - read.spss( d:/test.sav ),2.3 数据的存储, df write.table( df , file = D:/Rdata/fg.txt, row.names = F, quote = F ) # row.names = F :不写入行名,quote = F :变量名不用双引号。(2) 保存为 csv 文件 write.csv( df , file = D:/Rdata/fg.csv )(3) 保存为 R 格式文件 save( df , file = D:/Rdata/fg.Rdata ),R数据操作,变量创建与删除变量重命名缺失值数据类型转化数据排序数据合并,数据子集提取数据重构常用函数数据探索常见循环自编函数,变量创建与删除,mydata - data.frame( x1 = c(2, 2, 6, 4), x2 = c(3, 4, 2, 8) )# 方法一mydata$sum - mydata$x1 + mydata$x2mydata$mean - (mydata$x1 + mydata$x2)/2# 方法二mydata - transform( mydata, sum = x1 + x2, mean = (x1 + x2)/2 )# 变量删除mydata$ mean - NULL,变量的重命名,df - mydata第一种方法:调用编辑器重命名fix(df)第二种方法:使用函数 names( )重命名names(df)names(df)1:3 - c(A, B, C),缺失值的处理,缺失值:NA (Not Available,不可用)不可能出现的值:NaN(Not a Number,非数值)函数 is.na()可检测缺失值是否存在。例子x - c(1:3, 5,7, NA, 9)sum(x) # 结果为 NAsum( x, na.rm = T ) # 结果为 27,数据类型的转换,数据转换例子,Rep - c( 1:6 ) # Rep 赋值is.numeric(Rep) # 数值型判断:真is.factor(Rep) # 因子判断:假Rep - as.factor(Rep) # 转换为因子is.factor(Rep) # 因子判断:真,数据的排序,R 自带的 order( )函数plyr 程序包的 arrange( )函数# 按 x1,x2先后依次排序# R 自带的 order( )排序df order(-df$x1,df$x2), #plyr 程序包的 arrange( )函数排序library(plyr)arrange( df, -x1, x2),排序例子,# 创建数据框df - data.frame (id = 1:4,weight = c(20, 27, 24, 22),size = c(small, large, medium, large)# id weight size# 1 20 small# 2 27 large# 3 24 medium# 4 22 large,# R 自带的 order( )函数dforder(df$weight), dforder(df$size,df$weight), dforder(df$size,-df$weight), # plyr 包的 arrange( )函数library(plyr)arrange(df, weight)arrange(df, size, weight)arrange(df, size, -weight),排序例子(非同一数据框),有两列数据在一个数据框dataAB1小明2小王3小李4小张现输入一列数gg2143,要求显示出AB2小王1小明4小张3小李答案:dataorder(gg),数据集的合并,列合并# 共有变量: IDtotal - merge(dataA, dataB, by = ID) #解释见代码# 共有变量: ID、Countrytotal - merge(dataA, dataB, by = c(ID, Country)#含有一样的行数,而且以相同顺序排序。total - cbind(dataA, dataB),列合并例子,# 创建数据框 dataAdataA - read.table( header = T, text = storyid title1 lions2 tigers3 bears),# 创建数据框 dataBdataB - read.table( header = T, text = subject storyid rating1 1 6.71 2 4.52 2 3.32 1 5.2),# 合并数据框 dataA, dataBmerge(dataA, dataB, storyid)# 将 dataA 的 stroyid 重命名为 idcolnames(dataA)1 - c(Id)merge(x = dataA, y = dataB, by.x = id, by.y = storyid),现在有某一地区的植物名录表格gao.csv, 表格内只有两列,分别为中文名和name , 现在有中国IUCN植物红色名录数据库表格chinaIUCN.csv(表格内只有两列,分别为濒危等级level和species )。我们需要通过匹配两个表格获得该地区植物的IUCN评估等级表。aa - read.csv(chinaIUCN.csv)sp - read.csv(gao.csv)bb - merge(aa, sp, by.x = species, by.y =name, all.y = T) head(bb)write.csv(bb,gaoIUCN.csv),列合并的案例分析,行合并,total - rbind(dataA, dataB) 注意:dataA 与 dataB 需含有一样的变量,但排列的顺序可以不同。,行合并例子,dfA - data.frame( Subject = c(1, 1, 2, 2), Response = c(X, X, X, X) )dfB - data.frame( Subject = c(1, 2, 3), Response = c(Z, Y, Z) )df - rbind(dfA, dfB)dfA$Coder - AdfB$Coder - Bdf - rbind(dfA, dfB),数据子集的提取,3.7.1 根据位置选取子集使用方法如下:dfm1, 表示返回第 m1 行的数据dfc(m1,m2,. ,mj), 表示返回由第 m1,m2,.mj 行组成的数据框df ,n1 表示返回第 n1 列的数据df ,c(n1,n2,. ,nk) 表示返回由第 n1,n2,.nk 列组成的数据框,例子,# 创建数据框df - read.table( header = T, text = subject sex size1 M 72 F 63 F 94 M 11),# 以行取子集df1, dfc(1,3), # 以列取子集df ,1df ,c(1,3)# 以行列组合取子集dfc(1,3), c(1,3),根据列名选取子集,使用方法如下:df, name1 表示返回列名为 name1 的数据df, c(name1 , name2 , . , namek) 表示返回由多个列组成的数据框df ,size # 返回向量df size # 返回数据框df ,c(size,sex),使用 subset()函数,subset(df, select=c(name1,name2, . ,namek) 表示返回由多个列组成的数据框subset(df , select = subject)subset(df , subject 3)subset(df , subject 3, select = -subject) subset(df , subject 3 & sex=M),处理数据常用的函数,数据探索,dim(iris) # 数据集的维度,有多少行多少列?names(iris) # 数据有哪些列?str(iris) # 数据的结构如何?iris1:5, # 查看数据的前 5 行head(iris) # 查看数据的前 6 行tail(iris) # 查看数据的最后 6 行,查看单个变量,# 查看数据集中所有变量的统计量summary(iris) # 单个变量的 1%、25%、50%、75%、100%分位数quantile(iris$Sepal.Length)# 返回均值、中位数和数据的范围mean(iris$Sepal.Length);median(iris$Sepal.Length);range(iris$Sepal.Length)table(iris$Species) # 统计每个类别的频数pie(table(iris$Species) # 画出每个类别比例的饼图,查看多个变量,#查看变量之间的相关性cor(iris ,1:4)# 针对每个 Species 水平绘制 Sepal.Length 的盒形图boxplot(Sepal.Length Species, data = iris)# 绘制任意两个矩阵之间的散点图,及变量之间的相关性pairs(iris),读入stu.data.csv,数据集对象命名为stu.df;创建新变量armlegL,armlegL=arml+legl,并将其第2、5、7、10个值删除;然后再删除变量armlegL;判断Grade的数据类型,将其转换为因子;对数据集按age(升序)、weight(降序)排序。构建df1A,使其含有stu.df的前20行组成的数据框; stu.df 从20行后的数据赋给df1B;合并df1A、df1B为df1;构建df2A,使其含有stu.df的前6个变量组成的数据框;将stu.df的第1个变量和从第6个变量以后的数据组成df2B;合并df2A、df2B为df2;从stu.df中提取出age20、Grade3的所有数据;计算weight的平均值,找出height最大值。,练习二,练习二 答案,stu.df20max(stu.df$height),

    注意事项

    本文(R语言基础培训第一讲 R语言入门ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开