如何在 R 列表中获取存储的向量的转置?


我们可以使用 Map 函数结合 do.call 来获取存储在 R 列表中的向量的转置。例如,如果我们有一个名为 LIST 的列表,其中包含例如十个向量,那么我们可以使用以下命令来转置这些向量:

do.call(Map,c(f=c,LIST))

查看以下示例以了解其工作原理。

示例 1

要获取存储在 R 列表中的向量的转置,请使用以下命令:

Open Compiler
List1<-list(x1=rpois(20,5),x2=rpois(20,1),x3=rpois(20,10)) List1

如果您执行上述命令,它将生成以下输出:

$x1
[1] 4 10 1 4 2 7 9 8 3 9 2 1 2 4 4 7 4 0 4 2

$x2
[1] 2 0 1 1 2 0 0 2 1 1 1 1 0 2 1 1 3 0 1 1

$x3
[1] 14 8 8 10 6 6 12 8 17 5 13 8 8 15 11 16 11 10 13 13

要获取存储在 R 列表中的向量的转置,请将以下代码添加到上述命令中:

Open Compiler
List1<-list(x1=rpois(20,5),x2=rpois(20,1),x3=rpois(20,10)) do.call(Map,c(f=c,List1))

输出

如果您将所有上述命令作为一个程序执行,它将生成以下输出:

[[1]]
x1 x2 x3
4  2  14

[[2]]
x1 x2 x3
10 0  8

[[3]]
x1 x2 x3
 1 1  8

[[4]]
x1 x2 x3
 4 1  10

[[5]]
x1 x2 x3
 2 2  6

[[6]]
x1 x2 x3
 7 0  6

[[7]]
x1 x2 x3
 9 0  12

[[8]]
x1 x2 x3
 8 2  8

[[9]]
x1 x2 x3
 3 1  17

[[10]]
x1 x2 x3
 9 1  5

[[11]]
x1 x2 x3
 2 1  13

[[12]]
x1 x2 x3
 1 1  8

[[13]]
x1 x2 x3
 2 0  8

[[14]]
x1 x2 x3
 4 2  15

[[15]]
x1 x2 x3
 4 1  11

[[16]]
x1 x2 x3
 7 1  16

[[17]]
x1 x2 x3
 4 3  11

[[18]]
x1 x2 x3
 0 0  10

[[19]]
x1 x2 x3
 4 1  13

[[20]]
x1 x2 x3
 2 1  13

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例 2

要获取存储在 R 列表中的向量的转置,请使用以下命令:

Open Compiler
List2<-list(y1=rnorm(20),y2=rnorm(20)) List2

如果您执行上述命令,它将生成以下输出:

$y1
[1] 0.05917548 1.02861792 0.18393866 0.15641054 0.48371132 -0.97462169
[7] -0.08079743 -0.46323450 1.93425942 -1.01678126 0.46897927 -0.17711315
[13] 0.22473314 -0.65702542 0.69822243 0.37815176 0.41582381 -0.18821946
[19] 1.43258693 0.22601076

$y2
[1] -1.3239608 -0.2197707 0.1915578 0.5647687 0.6934978 -0.6755007
[7] 0.9405100 -1.0617483 -0.7765754 -0.4334703 -0.5402686 0.8850059
[13] 1.5196022 1.0401178 1.5100634 0.7502288 0.3609667 2.5214306
[19] -0.6588718 0.7632775

要获取存储在 R 列表中的向量的转置,请将以下代码添加到上述命令中:

Open Compiler
List2<-list(y1=rnorm(20),y2=rnorm(20)) do.call(Map,c(f=c,List2))

输出

如果您将所有上述代码段作为一个程序执行,它将生成以下输出:-

[[1]]
y1            y2
0.05917548 -1.32396077

[[2]]
    y1        y2
1.0286179 -0.2197707

[[3]]
    y1       y2
0.1839387 0.1915578

[[4]]
     y1      y2
0.1564105 0.5647687

[[5]]
    y1       y2
0.4837113 0.6934978

[[6]]
    y1         y2
-0.9746217 -0.6755007

[[7]]
      y1      y2
-0.08079743 0.94051002

[[8]]
   y1          y2
-0.4632345 -1.0617483

[[9]]
   y1        y2
1.9342594 -0.7765754

[[10]]
    y1      y2
-1.0167813 -0.4334703

[[11]]
   y1       y2
0.4689793 -0.5402686

[[12]]
    y1       y2
-0.1771132 0.8850059

[[13]]
   y1       y2
0.2247331 1.5196022

[[14]]
    y1       y2
-0.6570254 1.0401178

[[15]]
    y1      y2
0.6982224 1.5100634

[[16]]
    y1     y2
0.3781518 0.7502288

[[17]]
    y1      y2
0.4158238 0.3609667

[[18]]
    y1         y2
-0.1882195 2.5214306

[[19]]
    y1       y2
1.4325869 -0.6588718

[[20]]
    y1      y2
0.2260108 0.7632775

更新于: 2021年11月10日

248 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告