R语言入门(于华南植物园)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

语言入门张金龙jinlongzhang01@gmail.com中国科学院植物研究所2009.12.9报告内容一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个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面。下载和安装RTheComprehensiveRArchiveNetwork简称CRAN,提供下载安装程序和相应软件包。R主页版本下载地址之一:下载完成后,双击R-2.9.2-win32.exe开始安装。一直点击下一步,各选项默认。图1R软件首页图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包路径:Packagesinstallpackagesfromlocalfiles选择光盘或者本地磁盘上存储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)5RGuiHelpHtmlhelp6查看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函数与对象数据表的行与列物种数科数属数海拔坡度类型样方140152260025山顶样方251122635030山坡样方346112039045山坡样方438122426020低地样方549102522033低地行名Rownames字符串列名Columnnames每列可看做带名称的向量表1数据表、数据框与向量字符串、因素每行作为一个EntryR的函数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-2-也可用=,-代替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检验编号123456身高m1.751.801.651.901.741.91体重kg607257909572表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-weigh

1 / 106
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功