R语言初学者指南设计学习摘要_第1页
R语言初学者指南设计学习摘要_第2页
R语言初学者指南设计学习摘要_第3页
R语言初学者指南设计学习摘要_第4页
R语言初学者指南设计学习摘要_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案R语言初学者指南第一章引言函数功能示例?访冋帮助文件?boxplot#添加注释#Add your comme nts hereboxplot生成盒形图boxplot(y)boxplot(yfactor(x)log自然对数log(2)Iog10以10为底的对数log10(2)library载入包library(MASS)setwd设置工作目录setwd( “ C:/AnyDirectory ” )q关闭Rq()citatio n提供对R的引用citati on()第二章 R中的数据输入录入数据,并把数据系统地转化为标量(单值)、向量、矩阵、数据框或列表。如何从Excel、ascii文

2、件、数据库和其他统计程序中载入数据。2.1 R中的第1步2.1.1 小型数据库中的数据录入#符号“ -”相当于“=”#变量名中不能出现“ %,A,& , *,?,+,- ,(),#, ”因为这些符号中的大部分都是运算符。#如果定义好了: SQ.wi ng1SQ.wi ngl或者把需要执行的命令放在圆括号内: (SQ.wi ng1Wingcrd Wingcrd 1如果需要查看Wingcrd前五个值,则需要 Win gcrd 1:5如果需要查看 Wingcrd 除了第二个值以外的其他值,则需要 Win gcrd -2-负号表示删除了这个值仲位数),var (方R有很多的内置函数,最基本的有 sum

3、, mean, max, min, median差)和sd (标准差)等。 sum (Win gcrd)或者存在一个新的变量中,S.w in S.wi n输入其他三组数据:Tarsus = c(22.3,19.7,20.8,20.3,20.8,21.5,20.6,21.5)Head = c(31.2,30.4,30.6,30.3,30.3,30.8,32.5, NA )Wt = c(9.5,13.8,14.8,15.2,15.5,15.6,15.7)R中的变量名最好使用大写字母开头,这样可以避免将它和一些内部函数名混淆。注意,数据里有一只鸟的头的尺寸是没有测量的,我们用NA表示,这时我们调用内

4、部函数计算就会出现错误。在向量中有一个缺失值的话,默认选项na.rm=FALSE ” (rm表示移除remove),将会导致R函数返回NA,为了避免此种情况,我们用“na.rm=TRUE ” , sum(Head, n a.rm=TRUE)我们将接着学习如何连接这4个变量中的数据,(1)c,cbind和rbind函数;(2)matrix和vector函数;(3)数据框;(4)列表。2.1.3 使用c, cbind和rbind结合变量Wingcrd 翼弦,Tarsus踝骨,Head头,Wt体重,四组数据,每组8个值c函数可以用来连接这些数据,同时连接这些数据中的8个值: BirdData Id

5、ld Id a rep(a, each=8)接着生成一个VarNames 的新变量: Varnames = c(Wi ngcrd, Tarsus, Head, Wt)Var namesId2= rep(Var names, each=8)Id2c函数是我们结合数据或者变量的一种选择,另一种选择是cbind函数,它的作用是将所 结合的变量以列的形式输出。如: Z Z当我们有特殊需求时:1、访问Z的第一列: Z ,1或者Z1:8, 12、访问Z的第二行:Z2,或者Z2,1:4 dim(Z)#表示Z的行数和列数2.1.4 使用vector函数结合数据c函数。vector函数的作用与c函数类似,它可以

6、用来代替2.2 数据的载入2.2.1 Excel中的数据载入两种方法:第一种(常用):1、将EXCEL中的数据准备好;2、 将其提取到制表符分隔的ascii文件中;3、关闭 EXCEL;4、使用read.table 函数将数据载入到 R中。第二种:是一个专门的R程序包,RODBC ,它可以访问EXCEL中选定的行和列。221.1EXCEL中的数据准备样本变量形式:列表示各种变量,如性别、年龄、成绩等,行表示各种样本、观察值、案例、对象或其他称之为样本单元的东西。2.2.1.2 数据提取到制表符分隔的ascii文件步骤:在EXCEL中,“文件”一一“另存为”一一“保存类型”一一选择“文本文件(制

7、 表符分隔)”,将EXCEL中的数据提取到一个制表符分隔的ascii文件中,注意存储位置。(注意,此操作前,必须让EXCEL中的没有特殊的数据,也不可有空内容或者包含空格的名称,不然会出现 NA)2.2.1.3 read.table 函数的使用 Squid setwd( “学习札记” )#设置默认存储目录 Squid n ames(Squid)3.1.1 str 函数str命令告诉我们数据框中每个变量的属性 str (Squid )read.table 和names和str函数结合在一起使用3.1.2 函数中的数据参数 M1 Squid $ GSI还可以: Squid , 6#第6列也就是变量

8、 GSI那一列计算均值:两种方法都可以但建议用第一种 mea n ( Squid$GSI)3.1.4 attach 函数用attach命令把Squid添加到R的搜索路径里,就可以直接输入变量而不加其他函数,能看到该变量的值了。 attach (Squid) GSI boxplot(GSI) mea n(GSI)attach虽然比较好,但是如果有两个具有相同变量名称的数据框,就会发生问题。1、 为了避免复制变量,不要输入attach(Squid)两次;2、如果你使用 attach命令,确保你使用唯一的变量名称,避免使用月份、位置等常见的 名称;3、 如果你载入多个数据集,并且一次只处理一个数据集

9、,考虑使用detach命令从R的搜 索路径里移除一个数据框。如: detach (Squid)3.2 访问数据子集如果我只想处理某个位置的雌性数据,为了提取数据子集,我们需要知道性别是如何编码的,可以键入: Squid$Sex结果显示了变量Sex的所有值,可以用 unique命令显示这个变量里有多少个唯一值: uniq ue(Squid$Sex)出现1表示雌性,2表示雄性为了访问所有的雄性数据,使用: Se1 SquidM SquidM上述命令也可以写为:Squid Squid若Location上的值有1、2、3、4这四个,我们想提取1、2、3的数据,我们可以使用符号|表示或,!=表示不等于。

10、 Squid123 Squid123 Squid123 - SquidSquid$Location Squid123 =1 &Squid$Location Ord1 Squid Ord1,3.3 使用相同的标识符组合两个数据集几个不同的数据集,但是每个数据集里都有1个或几个相同的变量,就可以将这几个数据集组合起来。merge 函数 setwd( “C:/RBOOK/ ” )Sql Sql SquidMerged SquidMergedmerge命令采用两个数据框Sq1和Sq2作为参数,并使用变量Sample作为相同的标识符合并两个数据集。3.4 输出数据write.table 函数可以把数字输

11、出到ascii文件。提取雄性数据,并把它输出到文件,MaleSquid.txt SquidM write.table (SquidM,File =“ MaleSquid.txt ”,Sep = “, quote = FALSE, append = FALSE, na=” NA ” )SquidM为想输出的变量,或者说文件名Sep =“保证数据用空格隔开quote = FALSE 消除字符串的引号标志na= ” NA ”指定缺失值的代替appe nd = FALSE打开一个新文件函数功能示例write.table把一个变量写入到ascii文件Write.table(Z, file=” test.

12、txt ” )order确定数据的顺序Order(x)merge合并两个数据框merge(x, y, by= ” ID ” )attach使数据框里的变量可以利用attach(MyData)str显示一个对象的内部结构str(MyData)factor定义变量作为因子factor(x)第4章简单的函数4.1 tapply 函数载入数据,并获取变量的基本信息 setwd ( “C:/RBOOK/ ” )# 设定默认目录 Veg names (Veg)#查看Veg内的数据4.1.1 计算每个时间截面的均值( mean )笨方法以下代码计算了每个截面的平均丰富度和总的平均丰富度 m m1 m2 m3

13、 m4 m5 m6 m7 m8 c(m, ml, m2, m3, m4, m5, m6, m7, m8 )4.1.2更高效地计算每个时间截面的均值一一tapplytapply只需一行命令即可完成上述命令达到的效果 tapply (Veg$R, Veg$Tra nsect, mean)还可以写为: tapply (X=Veg$R, INDEX=Veg$Tra nsect, FUN=mea n)除了求均值,还可以对其求标准差(sd函数)、方差(var函数)、长度(length函数)等 Me Sd Le cbind ( Me, Sd, Le)4.2 sapply 函数和lapply 函数sapply

14、和lapply函数不用多次输入同一个函数命令格式如下: sapply (Veg , 5:9 , FUN= mean)计算5-9这个五个变量的均值tapply计算的是一个变量观察值子集的均值(或其他函数),而lapply和sapply函数计算的是一个或多个变量全部观察值得均值(或其他函数)。FUN后面接要计算的函数lapply和sapply的区别在于输出的不同, lapply (Veg , 5:9 , FUN= mea n)输出的结果的排列不同lapply函数输出的是一个列表,而sapply函数的输出是一个向量,我们可以根据对输出格式的要求来选择适当的函数。4.3 summary 函数summa

15、ry 命令的结果给出了变量的最小值、第一四分位数、中位数、平均值、第三四分位 数和最大值。它的参数可以是一个变量、数据框或者cbind命令的输出。 Z colnnames(Z) summary(Z)下面的命令,也可以实现同样的功能: summary (Weg ,c (“ R” , “ ROCK ” , LITTER” )或者 summary (Weg ,c (5, 6, 7)4.4 table 函数table函数的作用是用来了解每个农场提供抽样动物的数量,每个性别和年份观察值的 数量。 table (Deer$Farm) table (Deer$Sex, Deer$Year)函数功能示例tap

16、ply根据x的不同水平对y使用FUN的函tapply(y, x, FUN=mea n)数sapply对y的每一个变量使用 FUN的函数sapply(y, x, FUN=mea n)lapply对y的每一个变量使用 FUN的函数lapply(y, x, FUN=mea n)sd计算y的标准差sd(y)length确定y的长度len gth(y)summary计算基本信息summary(y)table计算列联信息table(x,y)第5章基础绘图工具简介5.1 plot函数一一散点图绘制物种丰富度对底层变量“裸露土壤”记为BARESOIL的图形 setwd (“ C:/RBOOK/ ”) Veg

17、plot (Veg$BARESOIL, Veg$R, xlab=” BARESOIL ” , ylab= ” R”)plot命令的第一个参数显示在水平轴上,第二个参数显示在垂直轴上。首先是因变量(反应变量),其后是自变量(解释变量),习惯上垂直轴绘制反应变量,水平轴绘制解释变量。添加标题和x、y轴标签,以及设置 x、y轴坐标界限: plot plot plot plot plot M.loess Fit lines (Veg$BARESOIL, Fit )函数功能示例ploty对x的图形plot(y,x,xlab =” X label ” , xlim = c(1),pch=1, main =

18、” Main ”,ylim = c(0,2), ylab=” Y label” ,col = 1 )lines在已存在的图形上添加线lin es(x,y,lwd=3, lty=1, col=1)order确定数据的顺序order(x)loess使用LOESS平滑M setwd( “ C:/RBOOK/ ”) Owls n ames (Owls) str (Owls)623 第2步和第3步:绘制散点图并添加标签弄清楚这个鸟巢的名字: uni que (Owls$Nest)给出了 27个鸟巢的名字提取一个鸟巢的数据 Owls.ATV Owls.ATV plot ( x = Owls.ATV$Arr

19、ivalTime,y = Owls.ATV$NegPerChick,xlab =“ Arrival Time ” , main =“AutavauxTV ”ylab =“ Negotiati on behaviour” )6.2.4 第4步:设计通用代码我们将相同的步骤应用于另外一个鸟巢的数据,针对第二个鸟巢,代码只需要做很小的修改 Owls.Bot plot ( x = Owls.Bot$ArrivalTime,y = Owls.Bot$NegPerChick,xlab =“ Arrival Time ” ,ylab =“ Negotiation behaviour” , main =“ B

20、ochet ” )以此类推,剩下还有 25个鸟巢,这些命令还要修改25次,简化一下:用 Owls.iOwls.ATV 或者 Owls.Bot Owls.i plot ( x =Owls.i$ArrivalTime,y = Owls.i$NegPerChick,xlab =“ Arrival Time ” ,ylab =“ Negotiation behaviour ” , main =“ Bochet ”)但是里面仍然出现了“Bochet ”这个具体鸟巢的名字,在处理其他数据集时,需要将它们进行替换,化简,定义一个包含了鸟巢信息的变量Nest.i Nest.i Owls.i plot ( x

21、=Owls.i$ArrivalTime,y = Owls.i$NegPerChick,xlab =“Arrival Time ” , main = Nest.i,ylab =“ Negotiati on behaviour ” )如果绘制其他鸟巢的图像,你只需要更改一下代码第一行中鸟巢的名字就可以了,地方都会相应地进行更改6.2.5 第5步:保存图像将图像存储为jpeg文件1、选择一个文件名。这个可以是任何名字2、通过键入 jpeg(file =“AngName.jpg ”)打开一个 jpeg 文件。替换其他jpeg3、 使用plot命令来绘制图像。由于你键入了 jpeg命令,R将把所有的图像

22、存储为 文件,并且图像不出现在屏幕上。4、通过键入dev.off()关闭jpeg文件。注意:从jpeg(file =“AngName.jpg ”)到dev.off()中的所有输出都存储为jpg文件。工作目录与存储目录如何生成一个文件名随着鸟巢名字( Nest.i )改变而自动变化的文件。需要选择一个包 含有鸟巢名字并且扩展名为jpg的文件名。我们用 paste来连接: paste (Nest.i, .jpg ” , sep =” )1“ Bochet.jpg ”# 输出结果paste命令的输出就是一个可以被用来作为文件名的字符串,可以使用一个变量来存储它并且将其应用在jpeg中。我们下面使用变

23、量 YourFileName 作为文件名,R就将介于jpeg和dev.off命令之间 的绘图结果存储到这个文件中。 setwd( “ C:/AIIGraphs/ ” ) Nest.i Owls.i YourFileName jpeg (file = YourFileName) plot ( x =Owls.i$ArrivalTime,y = Owls.i$NegPerChick,xlab =“Arrival Time ” , main = Nest.i,ylab =“ Negotiati on behaviour ” ) dev.off()文档函数的帮助文件中还包含了一些函数,用以改善 第6步

24、:构造循环(循环)命令的语法如下:jpeg626R 中 loopfor ( i in 1 : 27 )do someth ingdo someth ingdo someth ing具体应用如下: AllNests for (i in 1 : 27 ) 此类推Nest.i - AllNests iOwls.i - Owls Owls$Nest = Nest.i ,YourFileName setwd (“ C:/RBOOK/ ”) Veg n ames(Veg)NAPerVarible - fun ction (X1)D1 NAPerVarible (Veg, 5:24)colSums输出结果是

25、每个变量的缺失值个数;rowSums输出每个观察值缺失值的个数。6.3.2 技术信息6.3.4具有多个参数的函数编写一个既能计算观察值中零值数量的和,也能计算观察值中空值数量的和的函数Variablelnfo - function (X1, Choicel) if (Choicel =“ Zeros ”) D1 = (X1 = 0) if (Choice1 =“ NAs ” ) D1 VariableInfo(Parasite,“ Zeros ” )# 查找 0 VariableInfo(Parasite,“ NAs ” )#查找缺失值 Results - VariableInfo(Paras

26、ite,“Zeros ” )#分配一个变量来存储这个函数的输出结果635稳健的函数做一些事情,使函数变得稳健6.3.5.1函数参数中变量的默认值我们可以给变量Choice1赋一个默认值,这样的话,即使我们在使用中忘记给Choice1赋值,函数也会使用默认值进行计算。函数功能示例jpeg打开一个jpg文件jpeg(file =“AnyName.jpg ” )dev.off关闭jpg文件dev.off()function构造一个函数z-fu ncti on( x,y)paste将变量连接为字符串paste( a , b ,sep=)if条件指令if (a) x-1ifelse条件指令ifelse(a,x-1,x-2)if elseif条件指令if (a) x-1 elseif (b) x pie (Cases, main =Ordinary pie chart)#A类标准饼图 pie (Cases, col = gray (sep(0.4, 1.0, le ngth = 6),clockwise = TRUE, main =Grey colours )#B类灰色饼图 pie (Cases, col = rain bow (6), clockwise = TRUE,main =“ Rainbow colours ” )#C类彩虹色彩饼

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论