将两个向量组合成有序对的列表

时间:2019-05-08 17:35:02

标签: r list vector

x = c(1,2,3,4)
y = c(6,7,8,9)

我想创建一个这样的列表:

z = list(c(1,6),c(2,7),c(3,8),c(4,9))

最有效的方法是什么?我已经搜索过,并且有很多类似的答案,但是它们主要涉及使用paste()组合字符串。

2 个答案:

答案 0 :(得分:2)

一个选项是

Map(c, x, y)
#[[1]]
#[1] 1 6

#[[2]]
#[1] 2 7

#[[3]]
#[1] 3 8

#[[4]]
#[1] 4 9

或者使用map2中的purrr

library(purrr)
map2(x, y, c)

答案 1 :(得分:0)

lapply(seq_along(x), function(i) cbind(x, y)[i,])
#[[1]]
#x y 
#1 6 

#[[2]]
#x y 
#2 7 

#[[3]]
#x y 
#3 8 

#[[4]]
#x y 
#4 9