如何在R中创建列表向量?

如果我们有很多列表,但是我们想将列表中的值用作向量,那么我们首先需要合并这些列表并创建一个向量。这可以通过使用unlist函数和combining函数c来创建向量来完成。例如,如果我们有两个定义为List1和List2的列表,并且我们想使用这些列表创建向量V,则可以将其创建为:

V<-c(unlist(List1,List2))

例1

> x1<-list(a=rnorm(10),b=rpois(10,2))

> x1

输出结果

$a

[1] -0.6972237 -1.5013768 -0.2451809 -0.2365569 -1.6304919 -1.1704378

[7] 1.1617054 -0.2349498 -1.2582229 0.4112065

$b

[1] 2 0 2 6 0 0 3 2 6 1

示例

> x2<-list(rnorm(10))

> x2

输出结果

[[1]]

[1] 0.2023410 -0.5211331 -1.6368447 0.9778100 -0.6328811 0.3910759

[7] 0.1794474 0.5075240 -0.1174491 -1.3090096

从列表x1和x2创建向量:

示例

> x<-c(unlist(x1,x2))

> x

输出结果

a1 a2 a3 a4 a5 a6 a7

-0.6972237 -1.5013768 -0.2451809 -0.2365569 -1.6304919 -1.1704378 1.1617054

a8 a9 a10 b1 b2 b3 b4

-0.2349498 -1.2582229 0.4112065 2.0000000 0.0000000 2.0000000 6.0000000

b5 b6 b7 b8 b9 b10

0.0000000 0.0000000 3.0000000 2.0000000 6.0000000 1.0000000

示例

> is.vector(x)

输出结果

[1] TRUE

>

例2

> y1<-list(a=rnorm(50,1,0.04),b=rnorm(20,7,1.14),c=rnorm(25,114,31.47))

> y1

输出结果

$a

[1] 1.0441076 0.9709010 0.9949609 1.0019427 1.0384076 1.0169458 1.0036682

[8] 0.9913772 0.9528663 1.0180562 0.9363575 1.0732061 1.0307761 1.0422927

[15] 0.9860774 1.0709991 0.9987043 0.9890098 1.0506386 1.0613314 1.0187382

[22] 0.9772212 0.9851766 1.1028398 1.0009101 0.9986566 1.0576555 0.9099289

[29] 0.9717962 1.0827059 1.0047796 1.0217830 1.0003265 0.9670573 1.0053249

[36] 1.0276062 0.9628219 1.0086659 0.9886436 1.0223536 0.9989308 1.0481061

[43] 1.0536828 1.0523708 0.9183652 0.9704890 0.9572086 0.9998538 0.9375011

[50] 0.9276890

$b

[1] 6.079065 7.545869 6.823217 7.979219 6.403273 6.587805 6.433710 5.858546

[9] 7.745383 9.068145 6.817230 7.531164 6.807480 7.425329 6.753716 7.674849

[17] 5.945795 8.236862 8.325794 6.069669

$c

[1] 55.20174 145.56562 117.60680 140.48263 76.27128 108.36357 118.35613

[8] 119.83245 101.12617 138.44369 144.67036 114.76234 113.31759 85.17203

[15] 45.62139 151.66967 119.72055 110.41745 78.07230 138.55044 102.99897

[22] 98.48246 139.69139 27.23912 159.17110

示例

> y2<-list(q=rpois(50,4),w=rpois(20,7),r=rpois(25,5))

> y2

输出结果

$q

[1] 6 5 1 1 2 4 1 1 5 3 3 8 5 4 3 4 1 7 3 2 5 4 2 6 2 3 4 6 6 7 1 4 5 3 2 1 7 6

[39] 0 4 2 5 5 4 5 8 3 6 1 5

$w

[1] 9 9 5 7 10 10 5 5 3 10 7 4 6 10 11 4 12 9 12 9

$r

[1] 5 2 5 2 3 3 4 6 3 4 6 6 5 4 7 6 3 2 5 4 4 5 6 6 6

示例

> y<-c(unlist(y1,y2))

> y

输出结果

a1 a2 a3 a4 a5 a6

1.0441076 0.9709010 0.9949609 1.0019427 1.0384076 1.0169458

a7 a8 a9 a10 a11 a12

1.0036682 0.9913772 0.9528663 1.0180562 0.9363575 1.0732061

a13 a14 a15 a16 a17 a18

1.0307761 1.0422927 0.9860774 1.0709991 0.9987043 0.9890098

a19 a20 a21 a22 a23 a24

1.0506386 1.0613314 1.0187382 0.9772212 0.9851766 1.1028398

a25 a26 a27 a28 a29 a30

1.0009101 0.9986566 1.0576555 0.9099289 0.9717962 1.0827059

a31 a32 a33 a34 a35 a36

1.0047796 1.0217830 1.0003265 0.9670573 1.0053249 1.0276062

a37 a38 a39 a40 a41 a42

0.9628219 1.0086659 0.9886436 1.0223536 0.9989308 1.0481061

a43 a44 a45 a46 a47 a48

1.0536828 1.0523708 0.9183652 0.9704890 0.9572086 0.9998538

a49 a50 b1 b2 b3 b4

0.9375011 0.9276890 6.0790651 7.5458694 6.8232168 7.9792185

b5 b6 b7 b8 b9 b10

6.4032727 6.5878053 6.4337102 5.8585457 7.7453832 9.0681453

b11 b12 b13 b14 b15 b16

6.8172301 7.5311637 6.8074797 7.4253288 6.7537159 7.6748490

b17 b18 b19 b20 c1 c2

5.9457953 8.2368625 8.3257939 6.0696686 55.2017403 145.5656195

c3 c4 c5 c6 c7 c8

117.6067958 140.4826294 76.2712830 108.3635694 118.3561314 119.8324548

c9 c10 c11 c12 c13 c14

101.1261694 138.4436862 144.6703645 114.7623362 113.3175937 85.1720337

c15 c16 c17 c18 c19 c20

45.6213893 151.6696687 119.7205511 110.4174524 78.0722964 138.5504402

c21 c22 c23 c24 c25

102.9989677 98.4824591 139.6913875 27.2391168 159.1711013

以上是 如何在R中创建列表向量? 的全部内容, 来源链接: utcz.com/z/334716.html

回到顶部