




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、R言语入门2什么是R?R是一种统计绘图言语,也指实现该言语的软件。The R Project for Statistical Computing 3为什么要学会R?SPSSStatistical Package for the Social Sciences的发明者诺曼奈伊(Norman Nie)说: “没有什么统计概念是R不能表现的。5R简 史 R言语是从S统计绘图言语演化而来,可看作S的方言。 S言语上世纪70年代诞生于贝尔实验室,由约翰钱伯斯John Chambers开发。 基于S言语开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界运用很广,对SPS
2、S和 SAS有力冲击。 1995年由新西兰Auckland大学统计系的罗斯艾卡Ross Ihaka和罗伯特简特曼Robert Gentleman,基于S言语的源代码,编写了一能执行S言语的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R言语。R 的来源Robert GentlemanRoss Ihaka自1997年以后,有一个中心团队,这一团队能对 R 的源代码进展修正。7R的优点多领域的统计资源 目前在R网站上约有8230个程序包,涵盖了根底统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。免费开源统计分析才干突出作图功能强大拓展与开发才干强8R的缺
3、陷用户需求对命令熟习 与代码打交道,需求记住常用命令。协助系统均为英文占用内存 一切的数据处置在内存中进展,不适于处置超大规模的数据。运转速度稍慢 即时编译,约相当于C言语的1/20。如何学习R?熟习语法训练思想擅长求助熟能生巧坚持兴趣Never too late and too old to learn R 10R软件首页 / 11Windows下载和安装R下载完成后,双击R-3.2.4-win.exe 开场安装。不断点击下一步,各选项默许,言语建议选英文。12图 4 R登陆界面(Windows版)途径: 开场一切程序R 3.2.4菜单栏快捷按钮控制台光标:等待输入13R图形界面:Rstud
4、ioRstudio是R的图形界面之一,可以让 R 言语代码更直观、明了地运转。 RStudio 同样 是 免费 和 开源 的 ,可以在网站上自在下载与运用rstudio/ide/download/。安装Rstudio双击Rstudio-0.98.501.exe 开场安装。RStudio 有以下几大优点:代码字体高亮,代码完好性智能识别、自动缩进;可直接执行 R 程序代码;可运转多个 R 程序;可直接阅读任务表和数据;可随意缩放绘制的图形,并且有多种输出格式;整合 R 协助和 R 运用文档;可查看 R 命令的运转记录。1517R程序包R Packages程序包是什么? R程序包是多个函数的集合,
5、具有详细的阐明和例如。 Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、协助文件、描画文件等。为什么要安装程序包? R程序包是R功能扩展,特定的分析功能,需求用相应的程序包实现。 例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。18install.views(Environmetrics)19三种平台上的程序包20R程序包在CRAN 提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Package source: vegan_1.17-2.tar.gz MacOS X binary: vegan_1.17-2.tgz Windo
6、ws 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
7、程序,即可完本钱培训所需的程序包安装。22程序包运用与更新程序包的中函数,都要先导入,再运用,因此导入程序包是第一步。在控制台中输入如下命令:library(lattice)library(ggplot2)一切程序包的更新update.packages()留意:R 命令对大小写敏感,因此运用命令方式安装和载入程序包时应特别留意。23查看程序包协助文件vegan 程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1 菜单 协助Html协助2 查看pdf协助文档24查看函数的协助文件函数的默许值是什么? 怎样运用? 运用时需求留意什么问题? 需求查询函数的协助。1 ?t.test
8、 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 #举例27练习一 安装R并导入程序包1. 安装R和Rstudio软件、熟习菜单2. 本地安装程序包: vegan3. 调用程序包,查看程序包
9、的协助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 rep(2:5, 2) # 等价于 r
10、ep(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
11、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,
12、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 数据框data frame运用函数 data.frame( )创建: mydata patientID age diabetes status patientdata patientdata1:2 # 第 1、2 列的一切元素 patientdata$age # $符合用于选取一个指定
13、的变量。 列表list R 数据类型中最为复杂的一种数据构造。列表就是包含任何类型的对象,可以是假设干向量、矩阵、数据框,甚至其他列表的组合。经过函数 list( )来创建: mylist g h j k mylist province pf pf 1 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏 Levels: 湖南 江苏 四川 数据的输入1 键盘输入mydata - data.frame(age = numeric(0), gender = character(0), weight = numeric(0) ) mydata - edit(mydata) # 输入或修正 my
14、data 中的数据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(example/download/data.csv)tbl2-read.table(ftpftp.example/
15、download/data.txt)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:/te
16、st.ssd )7 导入 SPSS 数据library(foreign)mydata df write.table( df , file = D:/Rdata/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数据操作变量创建与删除变量重命名缺失值数据类型转化数据排序数据合并数据子集提取数据重构常用函数数据探
17、求常见循环自编函数变量创建与删除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)第二种方法:运用函数 na
18、mes( )重命名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) # 转
19、换为因子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
20、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小张现输入一列数g
21、g2143要求显示出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
22、 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, 表格内只需两列,分别为中文名
23、和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 需
24、含有一样的变量,但陈列的顺序可以不同。行合并例子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)# 以行列组合取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年高中历史下学期第5周教学实录(明治维新)
- 5风儿轻轻吹 第1课时(教学设计)-部编版道德与法治一年级下册
- 4《四季》教学设计(教学设计)2024-2025学年统编版语文一年级上册
- 2024年春八年级地理下册 第八章 第二节 干旱的宝地 塔里木盆地教学实录 (新版)新人教版
- 雨水管网改造项目可行性研究与评估
- 2016年秋九年级化学上册 7 燃料及其利用教学实录 (新版)新人教版
- 12为人民服务(教学设计)-2023-2024学年统编版语文六年级下册
- 10清新空气是个宝(教学设计)-部编版(五四制)道德与法治二年级下册
- 《铲雪歌》教学设计审阅后
- 3《荷花》教学设计-2024-2025学年语文三年级下册统编版
- 2024年广东省中考数学试卷(附答案)
- 2025年高考时政考题及参考答案(100题)
- DeepSeek人工智能语言模型探索AI世界科普课件
- 《青春期心理健康指导》课件
- 第18讲 等腰三角形 课件中考数学复习
- 旅行社安全管理培训
- 全过程工程咨询文件管理标准
- DB65T 8024-2024 建筑用室外气象参数标准
- 《预制高强混凝土风电塔筒生产技术规程》文本附编制说明
- ICD-11(国际疾病分类第十一修订)重点基础知识总结-
- 四川省建筑行业调研报告
评论
0/150
提交评论