资源描述:
《R语言入门基础教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、向量(vector)1、seq():产生有规律的数列,间距省略时默认值为1。例1:seq(10,20,0.5)例2:seq(0zby=0.03,length=15)2.rep():产生有规律的数列,重复第一个变量若干次。仞J1:rep(l:3z1:3)彳列2:rep(l:3,rep(2,3))例3:rep(l:3,length=10)3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算吋,要求它们包含的元素个素相同(或一个是另一个的整数倍)。例1:a<-1:3;b<-4:6;a*b;bAa例2:a<-1:3;b<-4:9;a*b;bAa4、获取向
2、量某一个或多个子集,向量前的负号,」表示去除相应内容。例1:x<-c(3,4,5,2,6);x[l:2];x[-(l:2)]例2:x<-c(3,4,5,2,6);x[c(l,2,4,1)];x[-c(l,2,4,1)]例3:xx<-seq(l,by=3,length=10);xx[xx>13]例4:x<-1:20;y<--9:11;x[y>(1)]#注意最后一个是”NA”5、主要向量运算函数。例1:xx<-c(2,6,10,8,4)sum(xx)it和max(xx)#最人值min(xx)#最小值range(xx)#取值范围mean(xx)#T*均值var(
3、xx)#方茅sort(xx)#从小到大排序rev(xx)#反排列,所以从大到小排序应该是rev(sort(xx))rank(xx)#单元值大小顺序prod(xx)#乘积,所以阶乘是prod(l:n)例2:x<-seq(l,15,2)append(x,20:30,after=5)#插入数据append(x,20:30)#参数after缺省默认从向量的最后插入值replace(x,c(2,4,6),-1)#替换函数例3:state.namematch(c('Ohio','Wyoming'),state.name)#完全匹配函数pmatch(c('Oh:'Wy'
4、),state.name)#部分匹配函数state.name[pmatch(c('Oh:'Wy'),state.name)]例4:yy<--9:10all(yy>0)#判断所有all(yy>-10)any(yy==0)#判断部分any(yy>0)any(yy<-10)矩阵(matrix)矩阵生成函数matrix():matnx(dataznrow=,ncol二,byrow=F),其中,数据data是必须的,其他都是选择参数,可以不选。byrow=F默认为按列来排列数据,如果想要按行排列,令byrow=To1、对角矩阵和单位阵。例1:x<-1:6;diag(
5、x)#对角矩阵例2:y<-rep(l,5);diag(y)#单位阵2、矩阵下标例1:xx<-matrix(l:20,4,5)xx[2z2];xx[乙3:5];x刈3:4,3:4]xx[2,];xx[,2]3、代数意义下的矩阵乘法"%*%n例1:yy<-matrix(l:6,3,2);zz<-matrix(l:6,2,3)yy%*%zz;zz%*%yy4、矩阵行和列的维数例1:xx<-matrix(l:20,4,5)dim(xx)#彳亍和列的维数nrow(xx);ncol(xx)#彳亍数和列数5、矩阵的主要运算函数例1:x<-1:6;y<-as.matrix
6、(x)#转换成矩阵is.matrix(x);is.matrix(y)#判断是否矩阵例2:diag()#方阵对角线元素或者生成对角矩阵apply()#对矩阵应用函数eigen()#求特征值和特征向:Ssolve()#求逆矩阵chol()#Choleski分解svd()#奇异值分解qr()#QR分解det()#求行列式dim()#给出行列数t()#矩阵转置6、矩阵合并例]:aa<-matrix(l:6,3,2);bb<-matrix(7:12,3,2)cbind(aa,bb)#按列合并rbind(aa,bb)#按彳亍合并7、矩阵apply()运算函数:语法是a
7、pply(data,dim,function),dim取1表示对行运用函数,取2表示对列运用函数。例1:xx<-matrix(l:20,4,5)colMeans(xx)#列均值colSums(xx)#列和其余大部分都要用到apply()函数例2:xx<-matrix(l:20,4,5)apply(xx,2,mean)#列均值,等同丁colMeans(xx)apply(xx,2,sum)#列和,等同于colMeans(xx),所以矩阵行和列的运算推荐用appiy()oapply(xx,1,var)#行方差apply(xx,2,max)#每列最大值apply(
8、xx,2,rev)#每列的数反排列数组(array)一维数据是向量