gpt4 book ai didi

r - 将多个列表列组合成 R 中的一个列表列?

转载 作者:行者123 更新时间:2023-12-02 02:46:25 25 4
gpt4 key购买 nike

在处理包含列表列的 data.frame 时,如何组合多列列表,以便将它们的按行内容组合到单列列表中?

例子

这是一个双列的data.frame(两列都是列表的列)

df <- structure(list(foo = list(c("foo1", "foo1.1"), "foo2", 
"foo3"), bar = list("bar1",
"bar2", "bar3")), row.names = c(NA,
-3L), class = c("tbl_df", "tbl", "data.frame"))

我们如何制作第三列,它也是一列列表,但每一行都包含其他两列中列表的内容?

例如第一行将包含 df[1, 1]$foo 中的 2 个项目 df[1,2]$bar 中的单个项目>;也就是说,这三个项目在一个列表中 foo1 foo1.1 bar(当然第二行,第三行等也是如此)

注意:我怀疑解决方案可能涉及 purrr,但我不确定

最佳答案

使用 dplyr,您可以:

df %>%
mutate(foo_bar = mapply(c, foo, bar))

foo bar foo_bar
<list> <list> <list>
1 <chr [2]> <chr [1]> <chr [3]>
2 <chr [1]> <chr [1]> <chr [2]>
3 <chr [1]> <chr [1]> <chr [2]>

或者添加purrr:

df %>%
mutate(foo_bar = map2(foo, bar, c))

关于r - 将多个列表列组合成 R 中的一个列表列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62732444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com