S语言是二十世纪70年代诞生于贝尔实验室,由RickBecker,JohnChambers,AllanWilks开发。基于S语言开发的商业软件Splus,可以便捷的编撰函数、建立模型,具有良好的扩充性,取得了巨大成功。1995年由美国Auckland学院统计系的RobertGentleman和RossIhaka,编撰了一种能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令也称为R语言。R软件简介R是开源软件,代码全部公开,对所有人免费。R可在多种操作系统下运行,如Windows、Linux和UNIX等。R须要输入命令,可以编撰函数和脚本进行批处理运算,句型简单灵活。目前在R网站上约有两千多个程序包,囊括了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等众多方面。ArchiveNetwork简称CRAN,提供下载安装程序和相应软件包。R主页登录界面(Windows版)菜单栏快捷按键控制台命令行Gui的菜单介绍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-动物与动物群落的排序,生物多样性估算10程序包使用在菜单栏程序包选择加载程序包…或者在控制台北输入如下命令:library()####()内为程序包名称调用程序包内的函数与R外置的函数调用方式一样11查看帮助文件怎么晓得stats程序包内部都有什么函数?最常用的技巧:菜单帮助Html帮助2控制台北输入library(help="stats")12查看帮助文件141、赋值与注释在控制台北键入如下命令2+2a-2-也可用=,-取代b-2#注释形参符号演示结果演示结果15少用(1)、向量形参向量16(2)、向量的运算物理运算运算后给出数值结果(常用运算符号)比较运算运算后给出判断结果(TRUEFALSE)17(2)、向量的运算18(2)、向量的运算(演示结果)192、R软件中的函数每一个函数执行特定的功能,前面紧随括弧,比如:求和sum()绘图plot()排序sort()不仅基本的运算之外,R的函数又分为中级和低级函数,中级函数内部嵌套了复杂的低级函数,比如plot()是中级绘图函数,函数本身会按照数据的类型,经过程序内部的函数判断以后,勾画相应类型的图形,并有大量的参数可选择。
20估算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(y21事例(P49.例2.1)某中学在复检时测得12名女学生体重X(千克)和腰围X(分米)资料如下表所示,估算体重与腰围的均值和标准差。中学生编号体重腰围中学生编号体重腰围35604378407437664064447042711042653772114173456812397522事例(P49.例2.1)平均值残差标准差判定二者之间的关系,是二者相关,还是二者无关,按照数值的大小进行判别接近1,相关,接近0,无关23事例(P49.例2.1)画出二者之间关系cor()与plot()联合使用24事例(P49.例2.1)频度直方图253、产生有规律的序列从2.316到6从4到7.6263、产生有规律的序列seq(起点,终点,宽度)rep(向量,重复次数)274、缺失数据判定向量中是否有缺位数据285、字符型向量296、向量下标运算(选定向量中某个数)选第二个数据更改向量x中第二个数据新的向量x更改向个数值更改向量x中第一和第三个数值306、向量下标运算(选定向量中某个数)选第1,3,5,9个数值选第1至5个数值选倒数第1至5个数值321、数组和矩阵dim()和matrix()1:12dim(x)12matrix.xmatrix(1:12,nrow=3,byrow=T)行或列添加名称:row.names();col.names()行数量332、数组的运算342、数组的运算求矩阵的维数353、矩阵的运算363、矩阵的运算例题381、列表与数据框物种数海拔斜度类型40152260025山顶51122635030土坡46112039045土坡38122426020低地49102522033低地行名Rownames字符串列名Columnnames每列可看做带名称的向量数据表、数据框与向量字符串、因素每行作为一个观测392、列表(list)的创建列表可以是不同类型甚至不同厚度的向量(数值型,逻辑型,字符型等等)、数据框甚至是列表的组合。
list()诸如list(character,numeric,logical,matrix)403、数据框(data.frame)的创建data.frame()#生成数据框data.frame(character,numeric,logical)cbind()按列组合成数据框c.data-cbind(character,numeric,logical)rbind()414、列表的创建"FALSE"第一列内容第二列内容第三列内容第四列内容425、引用数据框中的元素data.frame(a1,a2)引用d$a1c(5260,5470,5640,6180,6390)a2c(3910,4220,3885,5160,5645)构成数据框选数据框中a1数据选数据数据选数据436、外部数据读取最为常用的数据读取方法是用read.table()函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔(Excel可以保存这种文件)csv文件,冒号间隔(Excel可以保存这种文件)一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。
44read.table()的使用例:test.data-read.table("D:/R/test2.txt",header=T)header=T表示将数据的第一行作为标题。read.table(file=file.choose(),header=T)可以弹出对话框,选择文件。45例题:编号净高m1.751.801.651.901.741.91体重kg607257909572六名病人的臂展和体重现有6名病人的臂展和体重,检验体重乘以净高的平方是否等于22.5。46第一种方法:从控制台输入数据(数据较少)数据量较少时可以从控制台直接输入: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)47第一种方法:从控制台输入数据(数据较少)48第二种方法从外部读取数据(数据量较大)数据量较大时用read.table函数从外部txt文件读取将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。
用read.table()或read.csv()函数将数据读入R工作空间,并形参给一个对象。49在Excel上将数据存为txt文件50通常从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或冒号间隔开。read.table(”位置”)read.csv(”位置”)#从外部读取数据data1-read.table("d:/t.test.data.txt",header=T)bmi-data1$weight/data1$height^2t.test(bmi,mu=22.5)#t检验读txt文件读csv文件例题(此时数据为数据框)R是开源的统计绘图软件,也是一种自解释的语言,有大量的程序包可以借助。R中的向量、列表、数组、统计结果等都是对象,可以便捷的生成所需对象,并进行筛选。R具有精确控制的绘图功能,生成的图可以另存为多种格式。R编撰函数无需申明变量的类型,能借助循环、条件句子,控制程序的流程。