目录
- 向量
1.1 定义向量
1.2 定义特定的向量seq的用法
1.3 rep的用法重复复制元素
1.4 命名元素
1.5 行列拼接
1.6 向量运算 - 矩阵
2.1 如何创建矩阵
2.2 查看矩阵维数并更改列名
2.3 获取行列名
2.4 矩阵的取值
2.5 矩阵的运算-元素间运算
2.6 矩阵运算-矩阵间运算 - 向量框
3.1 创建数据框
3.2 了解矩阵框
3.3 元素的选择 - 列表
4.1 列表的创建
4.2 列表的索引
1.向量
1.1 定义向量
:默认间隔为1
v1 = 1:4
v2 = 11:18
v3 = 1.8:3.8
v4 = 1.8:4.2
由v4可见,4.2没有达到4.8,也只会选择最近的那个
1.2 定义特定的向量seq的用法
v5 = seq(1,9,by =2)
v6 = seq(1,9,length.out = 5)
seq相当于python里的range差不多,by控制间隔,length.out控制生成的序列长度。
使用help("seq")
查看相关函数的用法。
用法如下
seq(...)
## Default S3 method:
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),
length.out = NULL, along.with = NULL, ...)
seq.int(from, to, by, length.out, along.with, ...)
seq_along(along.with)
seq_len(length.out)
along.with表示输出的向量和这个向量是相同的。
> seq(1,9,along.with = v3)
[1] 1 5 9
1.3 rep的用法重复复制元素
> rep(1,5) #把1重复五遍
[1] 1 1 1 1 1
> rep(v2,2)
[1] 11 12 13 14 15 16 17 18 11 12 13 14 15 16 17 18
> rep(v3,c(1,2,3)) #把第一,第二,第三个元素分别重复1,2,3次
[1] 1.8 2.8 2.8 3.8 3.8 3.8
1.4 命名元素
> names(v1) = c('a','b','c','d') #对v1各元素进行命名
> > names(v1)
[1] "a" "b" "c" "d"
> v7 = c(v1,v2) #把v1,v2连接起来,
> v7
a b c d
1 2 3 4 11 12 13 14 15 16 17 18
1.5 行列拼接
> cbind(v1,v2) #按照列连接
v1 v2
[1,] 1 11
[2,] 2 12
[3,] 3 13
[4,] 4 14
[5,] 1 15
[6,] 2 16
[7,] 3 17
[8,] 4 18
> rbind(v1,v2) #按照行连接
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
v1 1 2 3 4 1 2 3 4
v2 11 12 13 14 15 16 17 18
1.6 向量运算
> v1[1] #取出第一个元素(索引从1开始)
a
1
> v2[1:3] #取出第一到第三个元素
[1] 11 12 13
> v2**2 #所有元素都做平方
[1] 121 144 169 196 225 256 289 324
> v2+3 #所有元素加3
[1] 14 15 16 17 18 19 20 21
> v3+v4 #对应元素相加
[1] 3.6 5.6 7.6
> v1+v6 #对应元素相加,如果没有对应元素,返回Warning
[1] 2 5 8 11 10
Warning message: