> a <- c(1:20)给a赋值
> sum(a)求和
[1] 210
> max(a)最大值
[1] 20
> min(a)最小值
[1] 1
> mean(a)平均值
[1] 10.5
> var(a)方差
[1] 35
> sd(a)标准差
[1] 5.91608
> prod(a)连乘
[1] 2.432902e+18
> median(a)中位数
[1] 10.5
> quantile(a,0.4)40%数
40%
8.6
> a
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> vec <- rep("one",20) 新建重复向量vec
> names(a) <- vec 将vec作为向量a的索引名
> a
one one one one one one one one one one one one one one one one one one one one
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> which.max(a) 返回的是最大值的索引
one
20
> b <- matrix(a,4,5)
> b
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> c <- matrix(a,4,5,byrow = T)
> c
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
矩阵设立
> c[1,1] <- 582
> c
[,1] [,2] [,3] [,4] [,5]
[1,] 582 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
矩阵修改
> a1 <- c("a1","a2","a3","a4","a5")
> b1 <- c("b1","b2","b3","b4")
> dimnames(c) <- list(b1,a1)
> c
a1 a2 a3 a4 a5
b1 582 2 3 4 5
b2 6 7 8 9 10
b3 11 12 13 14 15
b4 16 17 18 19 20
给矩阵赋值索引名
> t(c)
b1 b2 b3 b4
a1 582 6 11 16
a2 2 7 12 17
a3 3 8 13 18
a4 4 9 14 19
a5 5 10 15 20
转换
> b %*% c
[,1] [,2]
[1,] 67 94
[2,] 88 124
> b
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> c
[,1] [,2]
[1,] 6 9
[2,] 7 10
[3,] 8 11
矩阵的外积
> t(b)*c
[,1] [,2]
[1,] 6 18
[2,] 21 40
[3,] 40 66
矩阵的内积
> f <- diag(c(5,6,7,8)) 生成对角矩阵
> f
[,1] [,2] [,3] [,4]
[1,] 5 0 0 0
[2,] 0 6 0 0
[3,] 0 0 7 0
[4,] 0 0 0 8
> det(f) 求行列式
[1] 1680
> solve(f) 求逆矩阵
[,1] [,2] [,3] [,4]
[1,] 0.2 0.0000000 0.0000000 0.000
[2,] 0.0 0.1666667 0.0000000 0.000
[3,] 0.0 0.0000000 0.1428571 0.000
[4,] 0.0 0.0000000 0.0000000 0.125
> eigen(f) 求解矩阵
eigen() decomposition
$values
[1] 8 7 6 5
$vectors
[,1] [,2] [,3] [,4]
[1,] 0 0 0 1
[2,] 0 0 1 0
[3,] 0 1 0 0
[4,] 1 0 0 0