




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R语言入门 1 2 什么是R R是一种统计绘图语言 也指实现该语言的软件 TheRProjectforStatisticalComputing 3 为什么要学会R SPSS StatisticalPackagefortheSocialSciences 的发明者诺曼 奈伊 NormanNie 说 没有什么统计概念是R不能表现的 4 5 R简史 R语言是从S统计绘图语言演变而来 可看作S的 方言 S语言上世纪70年代诞生于贝尔实验室 由约翰 钱伯斯 JohnChambers 开发 基于S语言开发的商业软件Splus 可以方便的编写函数 建立模型 具有良好的扩展性 在国外学术界应用很广 对SPSS和SAS有力冲击 1995年由新西兰Auckland大学统计系的罗斯 艾卡 RossIhaka 和罗伯特 简特曼 RobertGentleman 基于S语言的源代码 编写了一能执行S语言的软件 并将该软件的源代码全部公开 这就是R软件 其命令统称为R语言 R的起源 RobertGentleman RossIhaka 自1997年以后 有一个核心团队 这一团队能对R的源代码进行修改 6 7 R的优点 多领域的统计资源目前在R网站上约有8230个程序包 涵盖了基础统计学 社会学 经济学 生态学 空间分析 系统发育分析 生物信息学等诸多方面 免费开源统计分析能力突出作图功能强大拓展与开发能力强 8 R的缺点 用户需要对命令熟悉与代码打交道 需要记住常用命令 帮助系统均为英文占用内存所有的数据处理在内存中进行 不适于处理超大规模的数据 运行速度稍慢即时编译 约相当于C语言的1 20 如何学习R 熟悉语法训练思维善于求助熟能生巧保持兴趣 NevertoolateandtoooldtolearnR 9 10 R软件首页http www r project org 11 Windows下载和安装R 下载完成后 双击R 3 2 4 win exe开始安装 一直点击下一步 各选项默认 语言建议选英文 12 图4R登陆界面 Windows版 路径 开始 所有程序 R3 2 4 菜单栏 快捷按钮 控制台 光标 等待输入 13 R图形界面 Rstudio Rstudio是R的图形界面之一 可以让R语言代码更直观 明了地运行 RStudio同样是免费和开源的 可以在网站上自由下载与使用 RStudio有以下几大优点 代码字体高亮 代码完整性智能识别 自动缩进 可直接执行R程序代码 可运行多个R程序 可直接浏览工作表和数据 可随意缩放绘制的图形 并且有多种输出格式 整合R帮助和R使用文档 可查看R命令的运行记录 14 15 16 17 R程序包 RPackages 程序包是什么 R程序包是多个函数的集合 具有详细的说明和示例 Window下的R程序包是经过编译的zip包 每个程序包包含R函数 数据 帮助文件 描述文件等 为什么要安装程序包 R程序包是R功能扩展 特定的分析功能 需要用相应的程序包实现 例如 系统发育分析 常用到ape程序包 群落生态学vegan包等 18 install views Environmetrics 19 三种平台上的程序包 20 R程序包 在CRAN提供了每个包的源代码和编译好的程序包以vegan包为例 CRAN提供了 Packagesource vegan 1 17 2 tar gzMacOSXbinary vegan 1 17 2 tgzWindowsbinary vegan 1 17 2 zipReferencemanual vegan pdfWindow下程序包为zip文件 安装时不要解压缩 21 安装程序包的方法 1菜单安装在联网的条件下 按菜单栏 程序包 下拉选择 安装程序包 选择所需的程序包进行实时安装 2联网命令安装例如 要安装vegan包 在控制台中输入install packages vegan 3本地安装路径 Packages installpackagesfromlocalfiles选择本地磁盘上存储zip包的文件夹 4脚本安装在联网的条件下 请运行Rpackages install R程序 即可完成本培训所需的程序包安装 22 程序包使用与更新 程序包的中函数 都要先导入 再使用 因此导入程序包是第一步 在控制台中输入如下命令 library lattice library ggplot2 所有程序包的更新update packages 注意 R命令对大小写敏感 因此使用命令方式安装和载入程序包时应特别注意 23 查看程序包帮助文件 vegan程序包内部都有哪些函数 分别有什么功能 查询程序包内容最常用的方法 1菜单帮助 Html帮助2查看pdf帮助文档 24 查看函数的帮助文件 函数的默认值是什么 怎么使用 使用时需要注意什么问题 需要查询函数的帮助 1 t test2RGui Help Htmlhelp3apropos t test 4help t test 5help search t test 6查看R包pdf手册 25 26 帮助文件的内容 t test stats 函数名及所在包FittingLinearModels 标题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 28 向量vector 概念 用于存储数值型 字符型或逻辑型数据的一维数组 例子 a c 1 2 5 3 6 2 4 数值型向量b c one two three 字符型向量c c TRUE TRUE TRUE 逻辑型向量注意 单个向量中的数据必须是相同的类型 数值型 字符型或逻辑型 29 30 创建重复的向量 rep 2 5 2 等价于rep 2 5 times 2 1 23452345 rep 2 5 rep 2 4 1 22334455 rep 1 3 times 4 each 2 1 112233112233112233112233 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 LETTERS 1 3 5 1 ABCABCABCABCABCLevels ABC 31 向量中元素的访问 aa 3 1 5 向量a中第一 三 五个数据 a c 1 3 5 1 156 向量a中第二到第六个数据 a 2 6 1 2536 2 向量a中数值大于3的所有数据 a a 3 1 564 去掉第一个值 a 1 1 2536 24 去掉前三个值 a 1 3 1 36 24 32 矩阵matrix 概念 一个二维数组 创建一个2 2的矩阵 matrix 1 4 nrow 2 ncol 2 1 2 1 13 2 24 生成单位阵 diag 3 1 2 3 1 100 2 010 3 001 mat1 matrix 1 12 3 4 byrow T mat2 matrix 1 12 3 4 byrow F 33 矩阵子集 元素 的提取 xx 2 2 第二行 第2列的元素 1 4 x 2 第二行的所有元素 1 246 x 2 第2列的所有元素 1 34 x 2 c 2 3 第二行中第2 3列的元素 1 46 34 数据框dataframe 使用函数data frame 创建 mydatapatientIDagediabetesstatuspatientdatapatientdata 1 2 第1 2列的所有元素 patientdata age 符合用于选取一个指定的变量 35 列表list R数据类型中最为复杂的一种数据结构 列表就是包含任何类型的对象 可以是若干向量 矩阵 数据框 甚至其他列表的组合 通过函数list 来创建 mylistghjkmylist list title g ages h j k 36 因子factor 概念 是一种向量对象 它给自己的组件指定了一个离散的分类 分组 它的组件由其他等长的向量组成 用函数factor 创建一个因子 levels按序 字母序或数值序 排列 为province创建因子 provincepfpf 1 四川湖南江苏四川四川四川湖南江苏湖南江苏Levels 湖南江苏四川 37 数据的输入 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 38 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 39 2 3数据的存储 dfwrite 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 40 R数据操作 变量创建与删除变量重命名缺失值数据类型转化数据排序数据合并 数据子集提取数据重构常用函数数据探索常见循环自编函数 41 变量创建与删除 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 42 变量的重命名 df mydata第一种方法 调用编辑器重命名fix df 第二种方法 使用函数names 重命名names df names df 1 3 c A B C 43 缺失值的处理 缺失值 NA NotAvailable 不可用 不可能出现的值 NaN NotaNumber 非数值 函数is na 可检测缺失值是否存在 例子x c 1 3 5 7 NA 9 sum x 结果为NAsum x na rm T 结果为27 44 数据类型的转换 45 数据转换例子 Rep c 1 6 Rep赋值is numeric Rep 数值型判断 真is factor Rep 因子判断 假Rep as factor Rep 转换为因子is factor Rep 因子判断 真 46 数据的排序 R自带的order 函数plyr程序包的arrange 函数 按x1 x2先后依次排序 R自带的order 排序df order df x1 df x2 plyr程序包的arrange 函数排序library plyr arrange df x1 x2 47 排序例子 创建数据框df data frame id 1 4 weight c 20 27 24 22 size c small large medium large idweightsize 120small 227large 324medium 422large R自带的order 函数df order df weight df order df size df weight df order df size df weight plyr包的arrange 函数library plyr arrange df weight arrange df size weight arrange df size weight 48 排序例子 非同一数据框 有两列数据在一个数据框dataAB1小明2小王3小李4小张现输入一列数gg2143 要求显示出AB2小王1小明4小张3小李答案 data order gg 49 数据集的合并 列合并 共有变量 IDtotal merge dataA dataB by ID 解释见代码 共有变量 ID Countrytotal merge dataA dataB by c ID Country 含有一样的行数 而且以相同顺序排序 total cbind dataA dataB 50 列合并例子 创建数据框dataAdataA read table header T text storyidtitle1lions2tigers3bears 创建数据框dataBdataB read table header T text subjectstoryidrating116 7124 5223 3215 2 合并数据框dataA dataBmerge dataA dataB storyid 将dataA的stroyid重命名为idcolnames dataA 1 c Id merge x dataA y dataB by x id by y storyid 51 现在有某一地区的植物名录表格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 列合并的案例分析 52 行合并 total rbind dataA dataB 注意 dataA与dataB需含有一样的变量 但排列的顺序可以不同 53 行合并例子 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 A dfB Coder B df rbind dfA dfB 54 数据子集的提取 3 7 1根据位置选取子集使用方法如下 df m1 表示返回第m1行的数据df c m1 m2 mj 表示返回由第m1 m2 mj行组成的数据框df n1 表示返回第n1列的数据df c n1 n2 nk 表示返回由第n1 n2 nk列组成的数据框 55 例子 创建数据框df read table header T text subjectsexsize1M72F63F94M11 以行取子集df 1 df c 1 3 以列取子集df 1 df c 1 3 以行列组合取子集df c 1 3 c 1 3 56 根据列名选取子集 使用方法如下 df name1 表示返回列名为name1的数据df c name1 name2 namek 表示返回由多个列组成的数据框df size 返回向量df size 返回数据框df c size sex 57 使用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 58 处理数据常用的函数 59 60 数据探索 dim iris 数据集的维度 有多少行多少列 names iris 数据有哪些列 str iris 数据的结构如何 iris 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京版小学一班级上册 走
- 2025年电子商务运营专员面试模拟题集与解析
- 2025年焊接技术实战模拟题集含钎焊部分及答案详解
- 【2025-2月更新】《新课标体育与健康》水平二 篮球大单元教案(共18课时)
- 2025年注册会计师考试CPA备考攻略与模拟题解析
- 2025年高级工职业技能鉴定备考指南与模拟试题详解灌区管理篇
- 2025年财务分析师招聘面试模拟题及应对技巧
- 2025学年安徽省皖东名校中考化学二模试卷
- 2025年物联网技术前沿知识中级工程师面试题集
- 2025年电力行业技术规范与安全培训试题及答案解析
- 中组部选调生管理办法
- 克痉方湿热敷:缺血性脑卒中后上肢肌肉痉挛康复新路径
- 血常规检验中的质量控制
- 高尿酸血症健康管理方案
- 秋季肌肤护理课件
- 磁粉检测培训课件
- 骨科总论教学课件
- 大单元教学培训
- 公墓建设可行性研究报告
- 2024年成都新都投资集团有限公司招聘笔试真题
- 混合痔护理教学课件
评论
0/150
提交评论