如何绑定不同长度的向量而不重复R中较小向量的元素?

我们可以使用cbind按列连接向量,而这些向量的长度是否相同也没关系。如果向量的长度相同,则将打印两个向量的所有值,但是如果这些向量的长度不同,则将重复较小向量的值。但是我们可能不想重复较小矢量的值/元素,并且可以通过将较小矢量的长度设置为较大矢量的长度来进行设置,这将在原始矢量不存在的地方在较小的矢量上创建NA值有任何值。

例子1

x1<-c(4,7,8,12)

x2<-1:20

n<-max(length(x1),length(x2))

length(x1)<-n

cbind(x1,x2)

输出结果

 x1 x2

[1,] 4 1

[2,] 7 2

[3,] 8 3

[4,] 12 4

[5,] NA 5

[6,] NA 6

[7,] NA 7

[8,] NA 8

[9,] NA 9

[10,] NA 10

[11,] NA 11

[12,] NA 12

[13,] NA 13

[14,] NA 14

[15,] NA 15

[16,] NA 16

[17,] NA 17

[18,] NA 18

[19,] NA 19

[20,] NA 20

例子2

y1<-c("A","B","C","D","E")

y2<-LETTERS[1:20]

n<-max(length(y1),length(y2))

length(y1)<-n

cbind(y1,y2)

输出结果

y1 y2

[1,] "A" "A"

[2,] "B" "B"

[3,] "C" "C"

[4,] "D" "D"

[5,] "E" "E"

[6,] NA "F"

[7,] NA "G"

[8,] NA "H"

[9,] NA "I"

[10,] NA "J"

[11,] NA "K"

[12,] NA "L"

[13,] NA "M"

[14,] NA "N"

[15,] NA "O"

[16,] NA "P"

[17,] NA "Q"

[18,] NA "R"

[19,] NA "S"

[20,] NA "T"

例子3

z1<-1:20

z2<-16:20

n<-max(length(z1),length(z2))

length(z2)<-n

cbind(z1,z2)

输出结果

z1 z2

[1,] 1 16

[2,] 2 17

[3,] 3 18

[4,] 4 19

[5,] 5 20

[6,] 6 NA

[7,] 7 NA

[8,] 8 NA

[9,] 9 NA

[10,] 10 NA

[11,] 11 NA

[12,] 12 NA

[13,] 13 NA

[14,] 14 NA

[15,] 15 NA

[16,] 16 NA

[17,] 17 NA

[18,] 18 NA

[19,] 19 NA

[20,] 20 NA

以上是 如何绑定不同长度的向量而不重复R中较小向量的元素? 的全部内容, 来源链接: utcz.com/z/361127.html

回到顶部