




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、特别致谢华南农业大学林学院特别致谢华南农业大学林学院林元震博士!林元震博士!3什么是R?R是一种统计绘图语言,也指实现该语言的软件。The R Project for Statistical Computing 6一一 R简介简介二二 R数据集创建数据集创建三三 R数据操作数据操作71.1 R1.1 R简简 史史 R语言是从语言是从S统计绘图语言演变而来,可看作统计绘图语言演变而来,可看作S的的“方言方言”。 S语言上世纪语言上世纪70年代诞生于贝尔实验室,由年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。开发。 基于基于S语言开发的
2、商业软件语言开发的商业软件Splus,可以方便的编写函数、建立模型,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。具有良好的扩展性,在国外学术界应用很广。 1995年由新西兰年由新西兰Auckland大学统计系的大学统计系的Robert Gentleman和和Ross Ihaka,基于,基于S语言的源代码,编写了一能执行语言的源代码,编写了一能执行S语言的软件,并将该软语言的软件,并将该软件的源代码全部公开,这就是件的源代码全部公开,这就是R软件,其命令统称为软件,其命令统称为R语言。语言。R 的起源的起源Robert GentlemanRoss Ihaka自自1997
3、年以后,有一个核心团队,这一团队能对年以后,有一个核心团队,这一团队能对 R 的源代码进行修改。的源代码进行修改。9多领域的统计资源多领域的统计资源 目前在目前在R网站上约有网站上约有5400个程序包,涵盖了基础统计学、社会学、个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台跨平台免费开源免费开源统计分析能力突出统计分析能力突出作图功能强大作图功能强大拓展与开发能力强拓展与开发能力强如何学习如何学习R?R? 熟悉语法熟悉语法 训练思维训练思维 善于求助善于求助 熟能生巧熟能生巧
4、 保持兴趣保持兴趣11R软件首页 / 12WindowsWindows下载和安装下载和安装R RCRAN: BinariesWindowsbase 下载完成后,双击下载完成后,双击R-3.0.2-win.exe 开始安装。开始安装。一直点击下一步,各选项默认,语言建议选英文。一直点击下一步,各选项默认,语言建议选英文。图图3 R2.11.0下载页面下载页面13图 4 R登陆界面(Windows版)路径: 开始所有程序R 2.11.0菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入等待输入14R R程序包(程序包(R PackagesR P
5、ackages)程序包是什么?程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。程序包是多个函数的集合,具有详细的说明和示例。 Window下的下的R程序包是经过编译的程序包是经过编译的zip包。包。每个程序包包含每个程序包包含R函数、数据、帮助文件、描述文件等。函数、数据、帮助文件、描述文件等。为什么要安装程序包?为什么要安装程序包? R程序包是程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。功能扩展,特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,常用到例如:系统发育分析,常用到ape程序包,群落生态学程序包,群落生态学vegan包等。包等。15常用
6、常用R程序包程序包(I)ade4利用欧几里得方法进行生态学数据分析利用欧几里得方法进行生态学数据分析adephylo系统进化数据挖掘与比较方法系统进化数据挖掘与比较方法ape系统发育与进化分析系统发育与进化分析apTreeshape进化树分析进化树分析bootBootstrap检验检验cluster聚类分析聚类分析ecodist生态学数据相异性分析生态学数据相异性分析FD功能多样性分析功能多样性分析geiger物种形成速率与进化分析物种形成速率与进化分析16常用常用R程序包程序包(II)Graphics绘图绘图lattice栅格图栅格图maptools空间对象的读取和处理空间对象的读取和处理m
7、efa生态学和生物地理学多元数据处理生态学和生物地理学多元数据处理mgcv广义加性模型相关广义加性模型相关mvpart多变量分解多变量分解nlme线性及非线性混合效应模型线性及非线性混合效应模型ouch系统发育比较系统发育比较pgirmess生态学数据分析生态学数据分析phangorn系统发育分析系统发育分析17常用常用R程序包程序包(III)picante群落系统发育多样性分析群落系统发育多样性分析raster栅格数据分析与处理栅格数据分析与处理seqinrDNA序列分析序列分析sp空间数据处理空间数据处理spatstat空间点格局分析,模型拟合与检验空间点格局分析,模型拟合与检验splan
8、cs空间与时空点格局分析空间与时空点格局分析statsR统计学包统计学包SDMTools物种分布模型工具物种分布模型工具vegan植物与植物群落的排序,生物多样性计算植物与植物群落的排序,生物多样性计算1819图 10 vegan包页面三种平台上的三种平台上的程序包程序包20R R程序包程序包在在CRAN 提供了每个包的源代码和编译好的程序包提供了每个包的源代码和编译好的程序包以以vegan包为例,包为例,CRAN提供了:提供了:Package source: vegan_1.17-2.tar.gz MacOS X binary: vegan_1.17-2.tgz Windows binary
9、: vegan_1.17-2.zip Reference manual: vegan.pdf Window下程序包为下程序包为zip文件,安装时不要解压缩。文件,安装时不要解压缩。211 菜单安装菜单安装在联网的条件下,按菜单栏在联网的条件下,按菜单栏【程序包程序包】下拉选择下拉选择【安装程序包安装程序包】 ,选,选择所需的程序包进行实时安装;择所需的程序包进行实时安装;2 联网命令安装联网命令安装例如:例如: 要安装要安装vegan包包,在控制台中输入在控制台中输入 install.packages(vegan)3 本地安装本地安装路径:路径:Packagesinstall packages
10、 from local files选择本地磁盘上存储选择本地磁盘上存储zip包的文件夹。包的文件夹。4 脚本安装脚本安装在联网的条件下,请运行在联网的条件下,请运行Rpackages.install.R程序,即可完成本培程序,即可完成本培训所需的程序包安装。训所需的程序包安装。22程序包使用与更新程序包使用与更新程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:在控制台中输入如下命令:library(lattice)library(ggplot2)所有程序包的更新所有程序包的更新update.pack
11、ages()注意:注意:R 命令对大小写敏感,因此使用命令方式安装和载入程序包时命令对大小写敏感,因此使用命令方式安装和载入程序包时应特别注意。应特别注意。23查看程序包帮助文件查看程序包帮助文件vegan 程序包内部都有哪些函数?分别有什么功能?程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:查询程序包内容最常用的方法:1 菜单菜单 帮助帮助Html帮助帮助2 查看查看pdf帮助文档帮助文档24查看函数的帮助文件查看函数的帮助文件函数的默认值是什么?函数的默认值是什么? 怎么使用?怎么使用? 使用时需要注意什么问使用时需要注意什么问题?题? 需要查询函数的帮助。需要查询函
12、数的帮助。1 ?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看查看R包包pdf手册手册2526帮助文件的内容帮助文件的内容 t.teststats #函数名及所在包函数名及所在包 Fitting Linear Models #标题标题 Description #函数描述函数描述 Usage #默认选项默认选项 Arguments #参数参数 Details #详情详情 Author(s) #作者作者 References #参考文献参考文献 Examples #举例举例271.
13、2 R图形界面:图形界面:RstudioRstudio是是R的图形界面之一,可以让的图形界面之一,可以让 R 语言代码更直观、明了地运语言代码更直观、明了地运行。行。 RStudio 同样同样 是是 免费免费 和和 开源开源 的的 ,可以在网站上自由下载与使,可以在网站上自由下载与使用(用(http:/ 开始安装。开始安装。RStudio 有以下几大优点:有以下几大优点: 代码字体高亮,代码完整性智能识别、自动缩进;代码字体高亮,代码完整性智能识别、自动缩进; 可直接执行可直接执行 R 程序代码;程序代码; 可运行多个可运行多个 R 程序;程序; 可直接浏览工作表和数据;可直接浏览工作表和数据
14、; 可随意缩放绘制的图形,并且有多种输出格式;可随意缩放绘制的图形,并且有多种输出格式; 整合整合 R 帮助和帮助和 R 使用文档;使用文档; 可查看可查看 R 命令的运行记录。命令的运行记录。2930练习一练习一 安装安装R R并导入程序包并导入程序包1. 安装安装R和和Rstudio软件、熟悉菜单软件、熟悉菜单2. 本地安装程序包本地安装程序包: vegan3. 调用程序包,查看程序包的帮助调用程序包,查看程序包的帮助library(vegan)查找查找vegan包中包中cca函数的帮助函数的帮助输入输入 ?cca(试试(试试“?cca”)将其中的将其中的Example粘贴到控制台中,查看
15、运行的结果。粘贴到控制台中,查看运行的结果。二二 R数据集创建数据集创建 数据创建数据创建 向量,数组,矩阵,数据框,列表,因子向量,数组,矩阵,数据框,列表,因子 数据输入数据输入 scan(),csv文件,文件,excel文件,文件,sas数据数据 数据存储数据存储 write.table(), write.csv(), save.image()2.1.1向量向量vector 概念:用于存储数值型、字符型或逻辑型数据的概念:用于存储数值型、字符型或逻辑型数据的一维数组。一维数组。 例子:例子: a - c(1, 2, 5, 3, 6, -2, 4) # 数值型向量数值型向量 b - c(o
16、ne, two, three) # 字符型向量字符型向量 c 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(fact
17、or(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 2.1
18、.2 数组数组array概念:一个概念:一个 K(K 1)维的数据表。维的数据表。由函数由函数 array( )建立,其一般格式为:建立,其一般格式为: array(vector, dim, dimnames) 其中,其中,vector :数组的向量,数组的向量,dim :维数向量维数向量(数值型向数值型向量量),dimnames :各维的名称各维的名称 (字符型向量字符型向量)。# 234 的数组的数组 dim1 - c(A1, A2) dim2 - c(B1, B2, B3) dim3 - c(C1, C2, C3, C4) z z z, , C1, , C1 B1 B2 B3 B1 B2
19、 B3A1 1 3 5A1 1 3 5A2 2 4 6A2 2 4 6, , C2, , C2 B1 B2 B3 B1 B2 B3A1 7 9 11A1 7 9 11A2 8 10 12A2 8 10 12, , C3, , C3 B1 B2 B3 B1 B2 B3A1 13 15 17A1 13 15 17A2 14 16 18A2 14 16 18, , C4, , C4 B1 B2 B3 B1 B2 B3A1 19 21 23A1 19 21 23A2 20 22 24A2 20 22 242.1.3 矩阵矩阵matrix概念概念:一个二维数组一个二维数组#创建一个创建一个 22 的矩阵
20、的矩阵 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 1mat1-matrix(1:12,3,4, byrow=T)mat2 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 2.1.4 数据框数据框
21、data frame使用函数使用函数 data.frame( )创建:创建: mydata patientID age diabetes status patientdata patientdata1:2 # 第第 1、2 列的所有元素列的所有元素 patientdata$age # “$”符合用于选取一个指定的变量。符合用于选取一个指定的变量。 patientdata patientdata patientID age diabetes status patientID age diabetes status1 1 25 Type1 Poor1 1 25 Type1 Poor2 2 34 T
22、ype2 Improved2 2 34 Type2 Improved3 3 28 Type1 Excellent3 3 28 Type1 Excellent4 4 52 Type1 Poor4 4 52 Type1 Poor patientdata1:2 # patientdata1:2 # 第第 1 1、2 2 列的所有元素列的所有元素 patientID agepatientID age1 1 251 1 252 2 342 2 343 3 283 3 284 4 524 4 52 patientdata$age patientdata$age # “$”# “$”符合用于选取一个指定的变
23、量符合用于选取一个指定的变量1 25 34 28 521 25 34 28 522.1.5 列表列表list R 数据类型中最为复杂的一种数据结构。数据类型中最为复杂的一种数据结构。列表就是包含任何类型的对象,可以是若干向量、矩阵、数据框,甚列表就是包含任何类型的对象,可以是若干向量、矩阵、数据框,甚至其他列表的组合。至其他列表的组合。通过函数通过函数 list( )来创建:来创建: mylist g h j k mylist mylist mylist$title$title1 My First List1 My First List$ages$ages1 25 26 18 391 25 2
24、6 18 3933 ,1 ,2 ,1 ,21, 1 61, 1 62, 2 72, 2 73, 3 83, 3 84, 4 94, 4 95, 5 105, 5 10441 one two three1 one two three2.1.6 因子因子factor概念:是一种向量对象,它给自己的组件指定了一个离散的分类概念:是一种向量对象,它给自己的组件指定了一个离散的分类(分组分组),它的组件由其他等长的向量组成。它的组件由其他等长的向量组成。用函数用函数 factor( )创建一个因子,创建一个因子,levels 按序按序(字母序或数值序字母序或数值序)排列。排列。#为为 province
25、创建因子创建因子 province pf pf 1 四川四川 湖南湖南 江苏江苏 四川四川 四川四川 四川四川 湖南湖南 江苏江苏 湖南湖南 江苏江苏 Levels: 湖南湖南 江苏江苏 四川四川 2.2 数据的输入数据的输入1 键盘输入键盘输入mydata - data.frame(age = numeric(0), gender = character(0), weight = numeric(0) ) mydata - edit(mydata) # 输入或修改输入或修改 mydata 中的数据中的数据2 使用使用 scan()函数函数mydata - scan( file = ex.da
26、ta, 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:/ 导入导入 Excel 数据数据library(RODBC)channel - odbcConnectExcel( d:/test.xls )
27、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 df write.table( df , file = D:/Rdat
28、a/fg.txt, s = F, quote = F ) # s = F :不写入行名,不写入行名,quote = F :变量名不用双引号。变量名不用双引号。(2) 保存为保存为 csv 文件文件 write.csv( df , file = D:/Rdata/fg.csv )(3) 保存为保存为 R 格式文件格式文件 save( df , file = D:/Rdata/fg.Rdata )三三 R数据操作数据操作3.1 变量创建与删除变量创建与删除mydata - data.frame( x1 = c(2, 2, 6, 4), x2 = c(3, 4, 2,
29、 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 3.2 变量的重命名变量的重命名df - mydata第一种方法:调用编辑器重命名第一种方法:调用编辑器重命名fix(df)第二种方法:使用函数第二种方法:使用函数 names( )重命名重命名names(df)names(d
30、f)1:3 - c(“A”, ”B”, ”C”)3.3 缺失值的处理缺失值的处理 缺失值:缺失值: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缺失值图形化缺失值图形化library(VIM)matrixplot(sleep)matrixplot ( )函数对数值型数据转化到0, 1区间,
31、并用灰度来表示大小:浅色表示值小,深色表示值大。缺失值默认是红色。 3.4 数据类型的转换数据类型的转换数据转换例子数据转换例子Rep - c( 1:6 ) # Rep 赋值赋值is.numeric(Rep) # 数值型判断:真数值型判断:真is.factor(Rep) # 因子判断:假因子判断:假Rep - as.factor(Rep) # 转换为因子转换为因子is.factor(Rep) # 因子判断:真因子判断:真3.5 数据的排序数据的排序 R 自带的自带的 order( )函数函数 plyr 程序包的程序包的 arrange( )函数函数# 按按 Spacing、Fam、rank.d
32、j 先后依次排序先后依次排序# R 自带的自带的 order( )排序排序df - df order(df$Spacing, df$Fam, df$rank.dj), #plyr 程序包的程序包的 arrange( )函数排序函数排序library(plyr)df - arrange( df, Spacing, Fam, rank.dj ) 排序例子排序例子# 创建数据框创建数据框df arrange(df, weight) arrange(df, weight) id weight size id weight size1 1 20 small1 1 20 small2 4 22 large
33、2 4 22 large3 3 24 medium3 3 24 medium4 2 27 large4 2 27 large arrange(df, size, weight) arrange(df, size, weight) id weight size id weight size1 4 22 large1 4 22 large2 2 27 large2 2 27 large3 3 24 medium3 3 24 medium4 1 20 small4 1 20 small arrange(df, size, -weight) arrange(df, size, -weight) id
34、weight size id weight size1 2 27 large1 2 27 large2 4 22 large2 4 22 large3 3 24 medium3 3 24 medium4 1 20 small4 1 20 small排序例子排序例子(非同一数据框)非同一数据框)有两列数据在一个数据框有两列数据在一个数据框dataA B1 小明小明2 小王小王3 小李小李4 小张小张现输入一列数现输入一列数gg2143要求显示出要求显示出A B2 小王小王1 小明小明4 小张小张3 小李小李答案:答案:dataorder(gg),3.6 数据集的合并数据集的合并 3.6.1 列合
35、并列合并# 共有变量共有变量: 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 tigers
36、3 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 merge(dataA, dataB, storyid) storyid title subject rating1 1 lions 1 6.72 1 lions
37、 2 5.23 2 tigers 1 4.54 2 tigers 2 3.3 现在有某一地区的植物名录表格现在有某一地区的植物名录表格gao.csv, 表格内只有两列,表格内只有两列,分别为分别为“中文名中文名”和和“name” , 现在有中国现在有中国IUCN植物红植物红色名录数据库表格色名录数据库表格chinaIUCN.csv(表格内只有两列,分别(表格内只有两列,分别为濒危等级为濒危等级“level”和和“species” )。我们需要通过匹配。我们需要通过匹配两个表格获得该地区植物的两个表格获得该地区植物的IUCN评估等级表。评估等级表。aa - read.csv(chinaIUCN.
38、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)列合并的案例分析列合并的案例分析3.6.2 行合并行合并 total - rbind(dataA, dataB) 注意:注意:dataA 与与 dataB 需含有一样的变量,需含有一样的变量,但排列的顺序可以不同。但排列的顺序可以不同。行合并例子行合并例子dfA - data.frame( Subject = c(1, 1, 2, 2), Response = c
39、(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 df df Subject Response Coder Subject Response Coder1 1 X A1 1 X A2 1 X A2 1 X A3 2 X A3 2 X A4 2 X A4 2 X A5 1 Z B5 1 Z B6 2 Y B6 2 Y B7 3 Z B7 3 Z B3.7 数据子集的提取数据子集的提取 3.7.1
40、根据位置选取子集根据位置选取子集使用方法如下:使用方法如下:dfm1, 表示返回第表示返回第 m1 行的数据行的数据dfc(m1,m2,. ,mj), 表示返回由第表示返回由第 m1,m2,.mj 行组成的数据框行组成的数据框df ,n1 表示返回第表示返回第 n1 列的数据列的数据df ,c(n1,n2,. ,nk) 表示返回由第表示返回由第 n1,n2,.nk 列组成的数据框列组成的数据框例子例子# 创建数据框创建数据框df - df1, df1, subject sex size subject sex size1 1 M 71 1 M 7 dfc(1,3), dfc(1,3), sub
41、ject sex size subject sex size1 1 M 71 1 M 73 3 F 93 3 F 9 df ,1 df ,11 1 2 3 41 1 2 3 4 df ,c(1,3) df ,c(1,3) subject size subject size1 1 71 1 72 2 62 2 63 3 93 3 94 4 114 4 11 dfc(1,3), c(1,3) dfc(1,3), c(1,3) subject size subject size1 1 71 1 73 3 93 3 93.7.2 根据列名选取子集根据列名选取子集使用方法如下:使用方法如下:df, “n
42、ame1” 表示返回列名为表示返回列名为 name1 的数据的数据df, c(“name1” , “name2” , . , “namek”) 表示返回由多个列组成的数据框表示返回由多个列组成的数据框df ,size # 返回向量返回向量df size # 返回数据框返回数据框df ,c(size,sex) df ,size # df ,size # 返回数据返回数据1 7 6 9 111 7 6 9 11 df size # df size # 返回数据框返回数据框 sizesize1 71 72 62 63 93 94 114 11 df ,c(size,sex) df ,c(size,s
43、ex) size sex size sex1 7 M1 7 M2 6 F2 6 F3 9 F3 9 F4 11 M4 11 M3.7.3 使用使用 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 subset(df , select = subject)
44、subset(df , select = subject) subject subject1 11 12 22 23 33 34 44 4 subset(df , subject subset(df , subject subset(df , subject subset(df , subject subset(df , subject subset(df , subject 3 & sex=M) subject sex size subject sex size1 1 M 71 1 M 73.8 处理数据常用的函数处理数据常用的函数3.9 数据探索数据探索3.9.1 数据结构查看数据
45、结构查看dim(iris) # 数据集的维度,有多少行多少列?数据集的维度,有多少行多少列?names(iris) # 数据有哪些列?数据有哪些列?str(iris) # 数据的结构如何?数据的结构如何?iris1:5, # 查看数据的前查看数据的前 5 行行head(iris) # 查看数据的前查看数据的前 6 行行tail(iris) # 查看数据的最后查看数据的最后 6 行行3.9.2 查看单个变量查看单个变量# 查看数据集中所有变量的统计量查看数据集中所有变量的统计量summary(iris) # 单个变量的单个变量的 1%、25%、50%、75%、100%分位数分位数quantile
46、(iris$Sepal.Length)# 返回均值、中位数和数据的范围返回均值、中位数和数据的范围mean( ),median( ),range( )table(iris$Species) # 统计每个类别的频数统计每个类别的频数pie(table(iris$Species) # 画出每个类别比例的饼图画出每个类别比例的饼图3.9.3 查看多个变量查看多个变量#查看变量之间的相关性查看变量之间的相关性cor(iris ,1:4)# 针对每个针对每个 Species 水平绘制水平绘制 Sepal.Length 的盒形图的盒形图boxplot(Sepal.Length Species, data = iris)# 绘制任意两个矩阵之间的散点图,及变量之间的相关性绘制任意两个矩阵之间的散点图,及变量之间的相关性pairs(iris)3.9.4 其他查看方法其他查看方法# 三维散点图三维散点图library(scatterplot3d)sca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025维修设备的技术合同
- 2025年LED控制与驱动产品项目建议书
- 2025企业劳动合同书样本
- 2025新鲜果品购销合同
- 2025聘请短期工合同模板
- 2025标准股权质押借款合同范本
- 2025年橡胶型密封胶项目建议书
- 2025年劳动合同 住房公积金合同书参考模板
- 2025中天国际酒店公寓精装修监理合同附件合同条款与监理要求
- 2025年的我合同审查大作战:来看这份劳动合同
- 2023年上海市普通高中学业水平等级性考试化学真题试卷含答案
- 高考英语单词3500记忆短文40篇
- PE管安装施工方案
- 童装陈列手册
- 十二指肠癌学习课件
- 电动自行车骑行安全与维护
- 社区获得性肺炎教学查房课件
- 2024年国家电投招聘笔试参考题库含答案解析
- JCT2166-2013 夹层玻璃用聚乙烯醇缩丁醛(PVB)胶片
- 建设工程竣工消防验收记录表
- 完整版融资方案ppt样本
评论
0/150
提交评论