下标索引,与python不同,从“1”开始
x <- c(1:100)
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
[55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
[73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
[91] 91 92 93 94 95 96 97 98 99 100
length(x) #获取长度
[1] 100
x[1] #下标索引
[1] 1
x[-19] #删除第19个数字
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
[37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
[55] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
[73] 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
[91] 92 93 94 95 96 97 98 99 100
x[c(4:18)]
[1] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
y <- c(1:10)
y[c(T,F,T,T,F,F,T,T,T,F)]
[1] 1 3 4 7 8 9
y[c(T,F,T,T,F,F,T,T,T,F,T)]
[1] 1 3 4 7 8 9 NA #缺失数据
y[c(T)]
[1] 1 2 3 4 5 6 7 8 9 10
y[(F)]
integer(0)
y[c(T,F)] “T”“F”在向量中循环使用
[1] 1 3 5 7 9
y[y>5]
[1] 6 7 8 9 10
y[y>5 & y<9]
[1] 6 7 8
字符串向量
z <- c("one","two","three","four","five")
z
[1] "one" "two" "three" "four" "five"
"one" %in% z
[1] TRUE
z["one" %in% z] #相当于z[T]
[1] "one" "two" "three" "four" "five"
z %in% c("one","two")
[1] TRUE TRUE FALSE FALSE FALSE
z[z %in% c("one","two")] #套娃而已
[1] "one" "two"
利用元素名称访问
names(y) <- c("one","two","three","four","five","six","seven","eight","nine","ten")
y
one two three four five six seven eight nine ten
1 2 3 4 5 6 7 8 9 10
添加向量
x <- c(1:100)
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[21] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
[41] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
[61] 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
[81] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
x[101] <- 101 #末尾添加数据
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[21] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
[41] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
[61] 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
[81] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
[101] 101
v <- 1:3
v[c(4,5,6)] <- c(4,5,6)
v
[1] 1 2 3 4 5 6
v[20] <- 4
v
[1] 1 2 3 4 5 6 NA NA NA NA NA NA NA NA NA NA NA NA NA 4
append(x = v,values =99,after = 5) #插入数据,将“99”插入到第5个数之后
[1] 1 2 3 4 5 99 6 NA NA NA NA NA NA NA NA NA NA NA NA NA 4
删除向量
rm(v) #删除整个函数
y <- c(1:10) #删除向量内部分元素
names(y) <- c("one","two","three","four","five","six","seven","eight","nine","ten")
y
one two three four five six seven eight nine ten
1 2 3 4 5 6 7 8 9 10
y[-c(1:3)]
four five six seven eight nine ten
4 5 6 7 8 9 10
y <- y[-c(1:3)]
y
four five six seven eight nine ten
4 5 6 7 8 9 10
修改向量
y["four"] <- 100
y
four five six seven eight nine ten
100 5 6 7 8 9 10
y[3] <- 76
y
four five six seven eight nine ten
100 5 76 7 8 9 10