矩阵的生成
矩阵用matrix()产生:
matrix(vector,nrow,ncol,byrow = c(TRUE,FALSE),dimnames = list(rownames,colnames))
- vector:包含了矩阵的元素
- nrow:用以指定行的维数
- ncol:用以指定列的维数
- byrow:TRUE按行填充,FALSE按列填充(默认按列填充)
- dimnames:包含了可选的,以字符型向量表示的行名和列名
行名和列名还可用函数rownames()和colnames()函数重新设定。
例如:>rownames(A)<-c("a","b","c")
矩阵的访问
⒈下标访问:形式z[i,j]
i表示矩阵的行,可以是一个向量
j表示矩阵的列,可以是一个向量
>z[2,1]
#访问矩阵z的(2,1)元素,即第2行第1列
>z[1,]
#访问矩阵z的第1行
>z[,2]
#访问矩阵z的第2列
>z[-1,3:5]
#访问矩阵z的第2:nrow行(第一行以外的行)的第3:5元素
矩阵的运算
sum(x):对x中的元素求和
prod(x):对x中元素求连乘积
max(x):x中元素的最大值
min(x):x中元素的最小值
which.max(x):返回x中最大值的下标
which.min(x):返回x中最小值的下标
range(x):与c(min(x),max(x))作用相同
length(x):x中元素的数目
mean(x):x中元素的均值
median(x):x中元素的中位数
var(x) or cov(x):x中元素的方差(用n-1做分母);如果x是一个矩阵或者一个数据框,将计算协方差阵
cor(x):如果x是一个矩阵或者一个数据框则计算相关系数矩阵(如果x是一个向量则结果是1)
var(x,y) or cov(x,y):x和y的协方差,如果是矩阵或数据框则计算x和y对应列的协方差
cor(x,y):x和y的线性相关系数,如果是矩阵或者数据框则计算相关系数矩阵
solve(x):矩阵求逆
eigen(x):求矩阵的特征值和特征向量,eigen(x)$values求特征值,eigen(x)$vectors求特征向量
svd(x):矩阵奇异值的分解
t(x):矩阵转置
矩阵的合并
rbind(...)以行的形式组合矩阵
cbind(...)以列的形式组合矩阵