R 矩阵数组
A<-matrix(11:16,nrow=3,ncol=2) # 实际按向量存储,根据保存的行数,列数对应到矩阵的元素,存储次序默认是按列存储。
B<-matrix(c(1,-1,1,1),nrow=2,ncol=2,byrow=TRUE) #设置byrow=TRUE,则按行存储
取矩阵的行数 nrow(A)
取矩阵列数 ncol(A)
取矩阵行数 列数 dim(A) 返回数组
t(A) 转置
取矩阵的第一行 A[1,]
取矩阵第一列 A[,1]
取指定行、列 A[c(1,3),1:2]
给矩阵的列名、行名赋值后可以按行、列名取值
colnames(A)<-c('X','Y')
rownames(A)<-c('a','b','c')
dimnames(A) 取行名向量、 列名向量
A[,'Y'] 取Y列
A['b',] 取b行
A[c('a','c'),'Y'] 取 a、b行的Y列
注:取出子集仅有1行或1列,结果就不再是矩阵还是变成了向量。
A[,1,drop=FALSE] #即时一行/一列 也要维持矩阵
按逻辑/布尔值 取子集 如 A[A[,1]>=12,'Y'] #A[,1]表示第一列>12的那些观测行 。
因为矩阵的实际保存按向量,所以可以按如此取子集A[c(1,3,5)]
还可以按一个两列矩阵的行观测作为下标取值。
如:
ind<-matrix(c(1,1,2,2,3,2),ncol=2,byrow = TRUE)
A[ind]
要取A所有元素 A[] 或c(A)
要修改元素如 A[1,2]<-3
本文来自博客园,作者:BioinformaticsMaster,转载请注明原文链接:https://www.cnblogs.com/koujiaodahan/p/15858042.html
posted on 2022-01-31 10:01 BioinformaticsMaster 阅读(37) 评论(0) 编辑 收藏 举报