代码语言:javascript复制
cat(c(1,2,3),c(4,5,6))
1 2 3 4 5 6
cat函数,只能链接数据类型相同的向量若数据类型不同则会报错
代码语言:javascript复制> x<-c(1,2,3)
> x<-append(x,3)
> x
[1] 1 2 3 3
append函数,增加向量内同类型的数值
代码语言:javascript复制> x<-append(x,"a")
> x
[1] "1" "2" "3" "3" "a"
若加上字符型数据,则会变换原始向量的数据类型
代码语言:javascript复制> x<-append(x,c(1,2,7))
> x
[1] "1" "2" "3" "3" "a" "1" "2" "7"
有意思的是如果append里对字符型数值加数值型数值,依然是字符型的
代码语言:javascript复制a <- c(1:10)
> append(x = a, 11, after = 5)
那么如何在任何向量的任何位置增加任意元素
代码语言:javascript复制> a=1:100
> ins=function(x,pos,new){c(x[1:pos],new,x[(pos 1):length(x)])}
> ins(a,11,33)
[1] 1 2 3 4 5 6 7 8 9 10 11 33 12 13 14
[16] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
[31] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
[46] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
[61] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
[76] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
[91] 90 91 92 93 94 95 96 97 98 99 100
(这份函数来自jimmy)
在向量上减少元素可以换一种思路,也就是选择元素
来自知乎数据科学
这部分包含所有的逻辑运算符合,可以通过这个来在向量里挑选元素比方说
代码语言:javascript复制> a <- 1:100
> a <- a[a!=1];a
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
[17] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
[33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
[49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
[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
[97] 98 99 100
至于合并元素,可以选择paste 或者paste0
代码语言:javascript复制> paste(c("k","Q","K"),c(1,2,3)
)
[1] "k 1" "Q 2" "K 3"
依然是优先字符