R基础:向量,矩阵,数组

一、向量

1、向量的表示:

(1)c()

x=1:10;x                #加";"续写语句x,不写则无法查看x的具体取值
x1=c(1:3,6:8);x1        ##"<-"等同于"=",表示赋值
x2<-c(9,10);x2          
x3=c(x1,x2);x3          #把向量x1与x2组合为一个新的向量x,新值x会取代旧值x
x4=c('x2');x4           #'x2'或者"2",表示字符串
##注意:
x<-c(4,"22");x          #c(数值型,字符型):数值型被转化,结果全为字符型
##注意:函数c()内变量与变量间,一定要用","隔开,否则运行时会报错(Error)

(2)rep(a,b):生成含b个a的向量,a本身也可为向量

x<-rep(2,6);x
x<-rep(c(4,2,2),6);x

(3)seq(a,b,by=n):数据从a到b表示出来,每次间隔为n

x<-seq(1,10,by=2);x
x<-seq(1,10);x          #若不写“by=n”,则默认n=1
2、向量元素的访问(引用)

x[a]:访问向量x的第a个元素
x[c(a,b,c)]:访问向量x的第a,b,c个元素

as<-c(1,3,5,6,7,8,9);as
as[4]                   #访问向量as的第4个元素
as[c(2,4,5)]            #访问向量as的第2,4,5个元素

二、矩阵

1、矩阵的表示

matrix(data=NA,nrow=a,ncol=b,byrow=T/F,dimnames=NULL)

  • data:数组的数据向量
  • nrow-行数
  • ncol-列数(可省略)
  • byrow=T:按行排
  • byrow=F:按列排(不写则默认为F,即按列排)
  • dimnames:可对矩阵各行各列命名。不写则默认标识全为[i,]和[,j],若写则要先定义rnames和cnames。
rnames<-c("a1","a2")
cnames<-c("b1","b2","b3","b4")
dimnames<-list(rnames,cnames)
A<-matrix(1:8,nrow = 2,ncol = 4,byrow = T,dimnames);A  
2、矩阵元素的访问(引用)

A[i,]:访问矩阵A的第i行
A[,j]:访问矩阵A的第j列
A[i,c(a,b)]:访问A中第i行a列和第i行b列

A<-matrix(1:8,nrow = 2,ncol = 4,byrow = T);A
A[2,]           #访问矩阵A的第2行
A[,3]           #访问矩阵A的第3列
A[1,c(2,4)]     #访问A中第1行2列和第1行4列

B[i:j,]:访问矩阵B的第i行到第j行(行到行)
B[,i:j]:访问矩阵B的第i列到第j列(列到列)

B<-matrix(1:12,nrow = 4,ncol = 3,byrow = T);B
B[2:4,]         #访问矩阵B的第2行到第4行
B[,1:2]         #访问矩阵B的第1列到第2列 

三、数组

1、数组的表示

array(data=NA,dim=length(data),dimnames=NULL)

  • data:向量数据
  • dim:数组各维的长度,缺少时为原向量的长度
  • dimnames:数组维的名称,缺少时为空
C<-array(1:60,dim = c(4,5,3));C    #dim = c(4,5,3):产生一个4x5x3的三维数组 (3个4x5的矩阵)
2、数组元素的访问(引用)

C[i,j,]:分别访问k个矩阵的第i行第j列
C[,k]:访问第k个 i x j 的矩阵
C[,j,k]:访问第k个 i x j 矩阵的第j列

C<-array(1:60,dim = c(4,5,3));C
C[1,2,]      #分别访问3个矩阵的第1行第2列
C[,,2]       #访问第2个4x5的矩阵
C[,5,2]      #访问第2个4x5矩阵的第5列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值