预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

R的语法与数据结构求助符?help()例子:>3+5>3-5>3/5>3^5>x=5>?plot>help(plot)向量向量是R中最为基本的类型一个向量中元素的类型必须相同,包括数值型整型单精度实型双精度实型逻辑型复值型字符型建立向量的方法(函数)seq()或:若向量(序列)具有较为简单的规律rep()若向量(序列)具有较为复杂的规律c()若向量(序列)没有什么规律例子:>1:10>seq(1,10,by=0.5)>seq(1,10,length=21)>rep(2:5,2)>rep(2:5,rep(2,4))>x=c(42,7,64,9)>length(x)向量的下标(index)与向量子集(元素)的提取正的下标提取向量中对应的元素负的下标去掉向量中对应的元素逻辑运算提出向量中元素的值满足条件的元素注:R中向量的下标从1开始,这与通常的统计或数学软件一致而象C语言等计算机高级语言的向量下标则从0开始!例子:>x=c(42,7,64,9)>x[1]>x[-2]>x[c(1,4)]数据框架(dataframe)许多数据集是数据框架的形式出现一个数据框架就是将许多向量组合起来的一个对象,它是二维的,通常其列表示变量,其行表示观测。建立数据框架的方法(函数)若你的数据本身保存在一个文件中,则可以使用read.table()仅接受带有分界符的ASCII数据如果数据是电子报表的形式,则采用下面的两种变型read.csv()先将数据另存为带逗号的数据(CommaSeperatedvalues)read.delim()先将数据另存为用tab作为分界符的数据注:若数据集很大(如1,000,000观测x200变量),则可由ODBC联接由数据库读入.数据框架子集的提出取格式foo[row,column]其中foo数据框架的名称row需要提出取的行号column需要提出取的行号例子(续上一例)列表子集的提出取提取一个子对象如foo的x,下面三种方式等价>foo$x>foo[1]>foo[[1]]例子>foo$y>foo[2]>foo[[2]]>foo[[1]][2]>foo$y[2]>foo$y[4]循环(loops)for()#若知道终止条件for(变量in向量)表达式while()#若无法知道运行次数while(条件)表达式两者通常可以转换例1—试比较两种方法>for(iin1:5)print(1:i)>i=1>while(i<=5){+print(1:i)+i=i+1+}>n=3044>a=c(rep(1,2*n),rep(2,2*n))>t=c(rep(1,n),rep(2,n),rep(2,n),rep(1,n))>g=rep(rep(1:1522,rep(2,1522)),4)>y=rnorm(4*n,mean=4.13,sd=0.75)>ybar=data.frame(A=factor(a),G=factor(g),+T=factor(t),Intensity=y)>attach(ybar)>ybar[1:10,]#查看ybar的前10行>res.mat=matrix(0,1522,8,byrow=TRUE)>coef.mat=matrix(0,1522,4,byrow=TRUE)>for(iin1:1522){+gene.aov=aov(Intensity~A+T+A*T,+sub=G==i)+res.mat[i,]=residuals(gene.aov)#保存ANOVA分析的残差+coef.mat[i,]=coef(gene.aov)#保存ANOVA分析的方差系数+}>res.mat[1:10,]#查看残差的前10行>coef.mat[1:10,]#查看方差系数的前10行函数函数是一系列语句的组合,在R中可以写出自己的函数形式:变量名=function(变量列表)函数体函数引用:变量名(变量的值)函数可以递归引用,但不提倡!例子–使用gamma函数求n!>factorial=function(n){+if(n>=0)gamma(n+1)+elseprint(“Pleaseinputapositiveinteger!")+}>factorial(6)>factorial(-6)R中的编程例子–缩进>for(iin1:1522){+gene.aov<-aov(Intensity~A+T+A*T,+sub=G==i)+res.mat[i,]<-residuals(gene.aov)+coef.mat[i,]<-coef(gene.aov)+}或>for(iin1:1522)>{+gene.aov<-aov(Intensity~A+T+A*T,+sub=G==i)+res.mat[i,]<-residuals(gene.aov)+coe