创建整数向量列表

时间:2013-09-27 19:53:13

标签: r list matrix dataframe

让我们说我想创建一个列表,其中每个元素都是一个整数向量。

让我们说我有,

a = c(1,2,3,4)
b = c(7,9,10,3)
d = c(90.2,43.1,54.2,12.3)

我想要一个列表,其中列表的元素1是: c(1,7,90.2) 第二个要素是, c(2,9,43.1), 第三个要素是, c(3,10,54.2), 第四个元素是, c(4,3,12.3)

如果我这样做,

my.list = list(a=a,b=b,d=d)

给了我想要的转置。有没有直接的方法来实现这个目标?

我需要有一个列表,因为我想使用mclapply函数,该函数只将列表作为输入,或者(如果给定的数据帧)将它们强制转换为非期望的列表结构。

请注意,在我的程序中,这个向量非常庞大,有4亿条左右。我正在寻找一种非常快速有效的方法来做到这一点。谢谢!

2 个答案:

答案 0 :(得分:2)

kk<-Map(function(x,y,w) c(x,y,w),a,b,d)
> kk[1]
[[1]]
[1]  1.0  7.0 90.2

或者只是:

 kk<-Map(`c`,a,b,d)
> kk[1]
[[1]]
[1]  1.0  7.0 90.2

答案 1 :(得分:1)

将你的矢量变成一个data.frame

adf<-data.frame(a=a, b=b, d=d)

然后使用apply将每一行转换为列表元素:

apply(adf, 1, function(x) list(x))