《R语言入门教程》PPT课件.ppt

上传人:tia****nde 文档编号:7791540 上传时间:2020-03-24 格式:PPT 页数:105 大小:1.54MB
返回 下载 相关 举报
《R语言入门教程》PPT课件.ppt_第1页
第1页 / 共105页
《R语言入门教程》PPT课件.ppt_第2页
第2页 / 共105页
《R语言入门教程》PPT课件.ppt_第3页
第3页 / 共105页
点击查看更多>>
资源描述
语言入门 R语言入门 报告内容 一R简介二函数与对象三编写脚本四R绘图五编写函数六数据保存 一R简介 R语言的由来 R语言是从S语言演变而来的 S语言是二十世纪70年代诞生于贝尔实验室 由RickBecker JohnChambers AllanWilks开发 基于S语言开发的商业软件Splus 可以方便的编写函数 建立模型 具有良好的扩展性 取得了巨大成功 1995年由新西兰Auckland大学统计系的RobertGentleman和RossIhaka 编写了一种能执行S语言的软件 并将该软件的源代码全部公开 这就是R软件 其命令统称为R语言 R软件简介 R是开源软件 代码全部公开 对所有人免费 R可在多种操作系统下运行 如Windows MacOS 多种Linux和UNIX等 R需要输入命令 可以编写函数和脚本进行批处理运算 语法简单灵活 目前在R网站上约有2100个程序包 涵盖了基础统计学 社会学 经济学 生态学 地理学 医学统计学 生物信息学等诸多方面 下载和安装R TheComprehensiveRArchiveNetwork简称CRAN 提供下载安装程序和相应软件包 R主页http www r project org Windows版本下载地址之一 http ftp ctex org mirrors CRAN bin windows base R 2 9 2 win32 exe下载完成后 双击R 2 9 2 win32 exe开始安装 一直点击下一步 各选项默认 图1R软件首页http www r project org 图2R登陆界面 Windows版 路径 开始 所有程序 R2 9 2 菜单栏 快捷按钮 控制台 命令行 图3RGui的菜单介绍 练习一 下载和安装R 下载并安装R软件了解R的菜单 R程序包 为什么要安装程序包 特定的分析功能 需要用相应的程序包实现 例如 系统发育分析 往往要用到ape程序包 群落生态学vegan包等等 程序包是什么 R程序包是多个函数的集合 具有详细的说明和示例 Window下的R程序包是已经编译好的zip包 每个程序包包含R函数 数据 帮助文件 描述文件等 常用R程序包 base R基础功能包stats R统计学包nlme 线性及非线性混合效应模型Graphics 绘图lattice 栅格图ape 系统发育与进化分析apTreeshape 进化树分析seqinr DNA序列分析ade4 利用欧几里得方法进行生态学数据分析 常用R程序包 cluster 聚类分析ecodist 生态学数据相异性分析mefa 生态学和生物地理学多元数据处理mgcv 广义加性模型相关mvpart 多变量分解nlme 线性及非线性混合效应模型ouch 系统发育比较BiodiversityR 基于Rcmdr的生物多样性数据分析vegan 植物与植物群落的排序 生物多样性计算 常用R程序包 maptools 空间对象的读取和处理sp 空间数据处理spatstat 空间点格局分析 模型拟合与检验splancs 空间与时空点格局分析picante 群落系统发育多样性分析 图4CRANTaskViews 对程序包的分类介绍 图5vegan包页面 R程序包 在CRAN提供了每个包的源代码和编译好的MacOS Window下的程序包以vegan包为例 CRAN提供了 Packagesource vegan 1 15 3 tar gzMacOSXbinary vegan 1 15 3 tgzWindowsbinary vegan 1 15 3 zipReferencemanual vegan pdf等Window平台下程序包为zip文件 安装时不要解压缩 R程序包安装 1连网时 用函数install packages 选择镜像后 程序将自动下载并安装程序包 例如 打开RGui 在控制台中输入install packages ape 2安装本地zip包路径 Packages installpackagesfromlocalfiles选择光盘或者本地磁盘上存储zip包的文件夹 程序包使用 在控制台中输入如下命令 library vegan library ade4 调用程序包内的函数与R内置的函数调用方法一样library vegan Thisisvegan1 15 3Warningmessage package vegan wasbuiltunderRversion2 9 1 练习二安装并导入程序包 安装程序包程序包 从本地zip文件安装程序包调用程序包library vegan library ape 查看帮助文件 如何知道ape程序包内部都有哪些函数 最常用的方法 1菜单帮助 Html帮助2查看pdf帮助文档 从程序包下载页面下载 查看帮助文件 1help t test 2 t test3help search t test 4apropos t test 5RGui Help Htmlhelp6查看R包pdf手册 帮助文件的内容 以lm函数为例 lm stats 函数名及所在包FittingLinearModels 标题Description 函数描述Usage 默认选项Arguments 参数Details 详情Author s 作者References 参考文献Examples 举例 练习三查看帮助文件 打开ape软件包的帮助文件library ape 查找ape包中plot phylo函数的帮助输入 plot phylo将其中的Example文件粘贴到Console中 查看运行的结果 图形界面之一 RCommander 图6Rcommander界面library Rcmdr 界面操作代码 结果输出 为什么要学习编程 界面操作直观易学 但也存在一些不足 操作的过程难以保存 数据处理不够灵活 在进行步骤繁多的数据处理工作时十分费时费力 在建立模型或自己编写函数时也会遇到困难 而这些困难可以通过编程解决 学习R编程 首先要了解R的函数 对象及其操作 二R函数与对象 数据表的行与列 行名Rownames字符串 列名Columnnames 每列可看做带名称的向量 表1数据表 数据框与向量 字符串 因素 每行作为一个Entry R的函数 R是一种解释性语言 不需要先编译成 exe文件 输入后可直接运行 函数形式function 对象 选项 平均值mean 线性回归lm y x data test R处理的所有数据 变量 函数和结果都以对象的形式保存 R的函数 每一个函数执行特定的功能 后面紧跟括号 例如 平均值mean 求和sum 绘图plot 排序sort 除了基本的运算之外 R的函数又分为高级和低级函数 高级函数内部嵌套了复杂的低级函数 例如plot 是高级绘图函数 函数本身会根据数据的类型 经过程序内部的函数判别之后 绘制相应类型的图形 并有大量的参数可选择 部分函数 计算log x log10 x exp x sin x cos x tan x asin x acos x min x max x range x length x 统计检验mean x sd x var x median x quantile x p cor x y t test lm y x wilcox test kruskal test 统计检验lm y f x lm y x1 x2 x3 bartlett testbinom testfisher testchisq testglm y x1 x2 x3 binomial friedman test 图7箱线图修饰前后 左 默认值 右 修改属性后 boxplot count spray data InsectSprays boxplot count spray data InsectSprays col red R函数调用及其选项 R函数调用及其选项 函数的调用方法 函数名 如plot lm 并将对象放入括号中 表示设定参数 例如 boxplot day type data bac col red xlab Virus ylab days day type 以type为横轴 day为纵轴绘制箱线图 data bac数据来源baccol red 箱线图为红色xlab Virus 横轴名称为Virusylab days 纵轴名称为days 练习四 查询函数帮助 查看boxplot的帮助文件 boxplot查看最后的examples将帮助文件中的内容粘贴到控制台中 运行并观看运行结果 boxplot count spray data InsectSprays col lightgray 选项更改boxplot count spray data InsectSprays col red xlab spray ylab counts 赋值与注释 在控制台中键入如下命令2 2a代替b 2c a bc 注释 赋值符号 为对象起名 R是区分大小写的 A与a是不同的 对象名不能用数字开头 但是数字可以放在中间或结尾 推荐用 作为间隔 例如anova result1 举例 一个向量a 包含了四个元素 a c 10 15 21 18 该向量为数值型 长度为4 保留名称 命名对象时不要与保留名称冲突 NA NaN pi LETTERS letters month abb month name 对象的类型 数值型Numeric如100 0 4 335字符型Character如 China 逻辑型Logical如TRUE FALSE因子型Factor表示不同类别复数型Complex如 2 3i 对象的类别 向量 vector 一系列元素的组合 因子 factor 因子是一个分类变量 如 a a a a b b b c c 数组 array 数组是k维的数据表 矩阵 matrix 矩阵是数组的一个特例 维数k 2 数据框 dataframe 是由一个或几个向量和 或 因子构成 它们必须是等长的 但可以是不同的数据类型 列表 list 列表可以包含任何类型的对象 据Paradis 2005 运算符 数学运算运算后给出数值结果 比较运算运算后给出判别结果 TRUEFALSE 逻辑运算与 或 非 外部数据读取 最为常用的数据读取方式是用read table 函数或read csv 函数读取外部txt或csv格式的文件 txt文件 制表符间隔csv文件 逗号间隔一些R程序包 如foreign 也提供了直接读取Excel SAS dbf Matlab spss systat Minitab文件的函数 read table 的使用 例 test data read table D R test2 txt header T header T表示将数据的第一行作为标题 read table file file choose header T 可以弹出对话框 选择文件 实例 从数据输入到t检验 表2六名患者的身高和体重 现有6名患者的身高和体重 检验体重除以身高的平方是否等于22 5 第一种方式 从控制台输入数据 数据量较少时可以从控制台直接输入 height c 1 75 1 80 1 65 1 90 1 74 1 91 weight c 60 72 57 90 95 72 sq height height 2ratio weight sq heightt test ratio mu 22 5 第二种方式从外部读取数据 数据量较大时用read table函数从外部txt文件读取第1步将Excel中的数据另存为 txt格式 制表符间隔 或 csv格式 第2步用read table 或read csv 函数将数据读入R工作空间 并赋值给一个对象 图8在Excel中将数据存为txt文件 实例 t检验 续 一般从txt文档读取数据 每一行作为一个观测值 每一行的变量用制表符 空格或逗号间隔开 read table 位置 header T read csv 位置 header T 从外部读取数据data1 read table d t test data txt header T bmi data1 weight data1 height 2t test bmi mu 22 5 t检验 练习五 数据读取和t检验 将表2中的数据录入Excel中 另存为t test txt文件 用read table函数读取该文件 t test data read table X t test txt header T 对变量t test data中的attach t test data ratio weight height 2t test ratio 实例 从数据输入到单因素方差分析 将三种不同菌型的伤寒病毒a b c分别接种于10 9 和11只小白鼠上 观察其存活天数 问三种菌型下小白鼠的平均存活天数是否有显著差异 a菌株 2 4 3 2 4 7 7 2 5 4b菌株 5 6 8 5 10 7 12 6 6c菌株 7 11 6 6 7 9 5 10 6 3 10 准备数据表 图9数据表的准备day和type各为一列 实例 方差分析 续 数据读取 将test1 txt中的内容保存到bac中 header T表示保留标题行 bac read table d anova data txt header T 将ba数据框中的type转换为因子 factor bac type as factor bac type ba an aov lm day type data bac summary ba an boxplot day type data bac col red 图10三种菌型对小白鼠影响的箱线图 练习六 方差分析和箱线图绘制 1在excel中准备数据表2用R读取数据表3输入如下命令进行方差分析 绘制箱线图boxplot day type data bac col red ba an aov lm day type data bac summary ba an 向量 矩阵和数据框的生成与条件筛选 有时需要对读入的数据进行操作 将某一向量转换成矩阵 如条件筛选 此时将遇到向量 矩阵和数据框的生成 条件筛选等 例如 提取前面群落数据表中 物种数 30的行 提取其中的某一列 进行分析等 向量的创建 四种类型的向量字符型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 复数型略 向量的创建 c 2 5 6 9 rep 2 times 4 seq from 3 to 21 by 3 1 36912151821 1 15 1 123456789101112131415通过与向量的组合 产生更为复杂的向量 rep 1 2 c 10 15 向量 随机数的生成 runif 10 min 0 max 1 1 0 322271680 127597890 338496350 848438550 672934160 14646444 7 0 601171500 390238740 042194230 67102520rnorm 10 mean 0 sd 1 1 1 58587380 0 077752222 17126687 1 029382260 463922810 74896049 7 0 245568291 390343711 09975487 1 44682767 定义矩阵的维度 dim 和matrix x 1 12dim x c 3 4 1 2 3 4 1 14710 2 25811 3 36912matrix x matrix 1 12 nrow 3 byrow T t x 转置为行或列添加名称 row names col names 数据框的创建 cbind 按列组合成数据框country data cbind character numeric logical rbind 按行组合成数据框data frame 生成数据框d data frame character numeric logical head d 访问数据的前6行 列表的创建 列表可以是不同类型甚至不同长度的向量 数值型 逻辑型 字符型等等 数据框甚至是列表的组合 list 例如list character numeric logical matrix x 对象的类型的判断 对象类型判断mode class is numeric 返回值为TRUE或FALSEis logical is charactor is data frame 对象的类型的判断 对象类型转换as numeric 转换为数值型as logical as charactor as matrix as dataframe 练习七 因子生成 将100 200 400 600 800输入R中 保存到numeric对象中numeric c 100 200 400 600 800 将numeric转换为factorfactor numeric as factor numeric 查看factor numeric的内容factor numeric 引用向量内的元素 intake pre c 5260 5470 5640 6180 6390 6515 6805 7515 7515 8230 8770 intake post c 3910 4220 3885 5160 5645 4680 5265 5975 6790 6900 7335 intake pre 5 intake pre c 3 5 7 v c 3 5 7 intake pre v intake pre 1 5 intake pre c 3 5 7 引用数据框中的元素 d data frame intake pre intake post 引用d intake pre 方括号引用d 1 d 5 访问数据框内的元素 直接调用数据框内的列向量attatch detatch 在函数内部 对数据进行相应调整with subset within transform 条件筛选 条件筛选是先对变量否满足条件进行判断 满足为TRUE 不满足为FALSE 之后再用逻辑值对向量内的元素进行筛选 intake pre 7000 1 FALSEFALSEFALSEFALSEFALSEFALSEFALSETRUETRUETRUETRUEintake pre intake pre 7000 intake post intake pre 7000 intake pre7000 intake pre 8000 练习八 条件筛选 创建一个2到50的向量vector12 4 6 8 48 50vector140 排序 将向量中的元素按照一定顺序排列 sort 按数值大小排序举例 intake postsort intake post order 给出从小到大的出现序号 order intake post o order intake post 工作空间 ls 列出工作空间中的对象rm 删除工作空间中的对象rm list ls 删除空间中所有对象save image 保存工作镜像sink 将运行结果保存到指定文件中getwd 显示当前工作文件夹setwd 设定工作文件夹 练习九 了解工作路径 1查看当前R工作的空间目录getwd 2将R工作的路径设置为d data setwd d data 三编写脚本 编写脚本 Scripting 脚本是什么 脚本是一系列命令 可以先批量的编号程序 或者对别人已经编好的程序进行修改 之后输入到控制台进行调试 以满足数据分析的需求 语言高亮显示在代码较多的情况下 有时需要对行数 函数 括号 函数选项等进行高亮显示 设置成不同的颜色 以减少错误 图11TinnR对R脚本的高亮显示 图12NotePad 对R脚本的高亮显示 编辑器 R自带的脚本编辑器Editplus TinnR http www sciviews org Tinn R Ultraedit 举例 回归分析脚本 对一批涂料进行研究 确定搅拌速度对杂质含量的影响 数据如下 试进行回归分析 表3搅拌速度对涂料中杂质的影响 脚本举例 将以下代码粘贴到编辑器中 另存为regression r文件 rate c 20 22 24 26 28 30 32 34 36 38 40 42 impurity c 8 4 9 5 11 8 10 4 13 3 14 8 13 2 14 7 16 4 16 5 18 9 18 5 plot impurity rate reg lm impurity rate abline reg col red summary reg 运行脚本 三种运行方式1通过source 函数运行source d regression r 2通过R脚本编辑器运行路径 RGui File OpenScript Ctrl R运行3直接粘贴到R控制台ctrl c ctrl v 练习十 R脚本运行 将R命令粘贴到记事本中 另存为regression R文件 分别通过三种方式运行R脚本 四R绘图 图13R绘制的图形 R绘图功能 R具备卓越的绘图功能 通过参数设置对图形进行精确控制 绘制的图形能满足出版印刷的要求 可以输出JPEG TIFF EPS emf pdf png等各种格式 绘图是通过绘图函数结合相应的选项完成的 绘图函数包括高水平绘图函数和低水平绘图函数 高水平绘图函数 plot 绘制散点图等多种图形hist 直方图boxplot 箱线图stripchart 点图barplot 条形图dotplot 点图piechart 饼图interaction plot matplot 图14散点图与箱线图举例 低水平绘图函数 lines 添加线curve 添加曲线abline 添加给定斜率的线points 添加点segments 折线arrows 箭头axis 坐标轴box 外框title 标题text 文字mtext 图边文字 绘图参数 参数用在函数内部 在没有设定值时使用默认值 font 字体lty 线类型lwd 线宽度pch 点的类型 xlab 横坐标ylab 纵坐标xlim 横坐标范围ylim 纵坐标范围 举例 绘图 生成0到2之间的50个随机数 分别命名为x yx runif 50 0 2 y runif 50 0 2 绘图 将主标题命名为 散点图 横轴命名为 横坐标 纵轴命名为 纵坐标 plot x y main 散点图 xlab 横坐标 ylab 纵坐标 text 0 6 0 6 textat 0 6 0 6 abline h 6 v 6 图15绘图举例 例 分步绘图 plot x y type n xlab ylab axes F 打开绘图窗口 不绘制任何对象points x y 添加坐标点axis 1 添加横轴axis at seq 0 2 1 8 0 2 side 3 添加纵轴box 补齐散点图的边框title main Maintitle sub subtitle xlab x label ylab y label 添加标题 副标题 横轴说明 纵轴说明 图16分步绘图 A B C D E F 一页多图 par par mfrow c 2 2 图17一页多图 在原有图形上添加元素 举例 x rnorm 100 生成随机数hist x freq F 绘制直方图curve dnorm x add T 添加曲线h hist x plot F 绘制直方图ylim range 0 h density dnorm 0 设定纵轴的取值范围hist x freq F ylim ylim 绘制直方图curve dnorm x add T col red 添加曲线 图18在原有直方图上添加曲线 练习十一 绘图练习 练习1将Rplots r中的代码拷贝到R控制台中 查看R绘制的图形 练习2对例进行回归分析 并绘制散点图 并为散点图添加回归直线 plot impurity rate reg lm impurity rate abline reg col red summary reg 五编写函数 编程基础 R可以灵活的编写程序 用户自己编写的程序可以直接调用 R语言编程时无需声明变量的类型 这与C C 等语言不同 基本格式function name function x y 表达式 函数内部也可用 添加注释 程序流程控制if if表达式的写法if 条件 表达式if 条件 表达式1else表达式2举例 if p0 05 循环for while for 变量in向量 表达式for iin1 10 print i while 条件 表达式i 1while i 10 print i i i 1 函数举例 定义函数 rcal function x y z x 2 y 2 result sqrt z result 调用函数 rcal 3 4 练习十二编写函数 编写一个函数 给出两个数之后 直接给出这两个数的平方和 sqtest function x y z1 x 2 z2 y 2 z3 z1 z2 z3 六数据的保存 sink unlink 若有LaTeX基础 可以用Sweave 函数该函数能将脚本 程序说明和运算结果直接保存成 tex文件 用LaTeX编译成pdf文件 数据保存 总结 R是开源的统计绘图软件 也是一种自解释的语言 有大量的程序包可以利用 R中的向量 列表 数组 统计结果等都是对象 可以方便的生成所需对象 并进行筛选 R脚本是输入的多个命令行 R具有精确控制的绘图功能 生成的图可以另存为多种格式 R编写函数无需声明变量的类型 能利用循环 条件语句 控制程序的流程 推荐教材 PeterDalgaardIntroductorystatisticswithRCrawleyStatisticsanintroductionusingRE ParadisRforBeginnersVerzaniSimpleR DGRossiterIntroductiontotheRProjectforStatisticalComputingforuseatITCJ MaindonaldUsingRfordataanalysisandgraphicsintroductioncodeandcommentaryusingRVenables W N Ripley B D ModernAppliedStatisticswithS R资源 R主页 http www r project orgCRAN北京镜像 数学所 http ftp ctex org mirrors CRAN 群落生态学数据分析http ecology msu montana edu labdsv R labs StatisticswithRhttp zoonek2 free fr UNIX 48 R all htmlNCEAS提供的R资源http www nceas ucsb edu scicomp RProgTutorialsLatest html
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!