我正在寻找一种方法,将几个相同长度的向量转换为一个命名列表列表。
例如,如果我有矢量:
v1 <- c("a", "b", "c")
v2 <- c("x", "y", "z")
,列表应为:
list(
list(
name = "a",
value = "x"
),
list(
name = "b",
value = "y"
)
list(
name = "c",
value = "z"
)
)
当您为在一个请求中获取多条记录的API生成请求体时,这可能很有用。
这应该有效:
l <- mapply(
function(name, value) list(name = name, value = value),
v1, v2,
USE.NAMES = FALSE,
SIMPLIFY = FALSE
)
str(l)
# List of 3
# $ :List of 2
# ..$ name : chr "a"
# ..$ value: chr "x"
# $ :List of 2
# ..$ name : chr "b"
# ..$ value: chr "y"
# $ :List of 2
# ..$ name : chr "c"
# ..$ value: chr "z"
另一个选项是purrr
中的pmap
purrr::pmap(list(name = v1, value = v2), list)