如何对存储在 R 列表中的向量进行转置?
我们可以通过使用带有do.call的Map函数对存储在R列表中的向量进行转置。例如,如果我们有一个名为LIST的列表,其中包含十个向量,那么我们可以使用下面给出的命令来转置这些向量-
do.call(Map,c(f=c,LIST))
查看以下示例以了解其工作原理。
示例1
要对存储在R列表中的向量进行转置,请使用下面给出的命令-
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列表中的向量进行转置,请将以下代码添加到上述命令中-
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
示例2
要对存储在R列表中的向量进行转置,请使用下面给出的命令-
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列表中的向量进行转置,请将以下代码添加到上述命令中-
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