如何命名数据框,以便我可以在列表中查找它

时间:2018-05-05 08:38:49

标签: r purrr

我有一个返回数据帧的函数。我将此函数与furrr::future_map2一起使用,以便获得包含多个数据帧的列表。

  • 我想要的是能够使用函数中的name输入命名数据帧,以便我可以按名称搜索返回列表。

例如

test <- function(x, name){
   require(tidyverse)
   z <- data.frame(x+1) %>% stats::setNames(., "a")

   return(z)
 }


furrr::future_map2(1:3, c("a", "b", "c"), ~test(.x, .y))
  • 列表中的第一个df为a,第二个b等等
  • 命名应在函数
  • 内完成
  • names(list.return) <- vector.of.list.names.in.character选项对我不起作用。

请帮忙

2 个答案:

答案 0 :(得分:1)

这个怎么样?

mapply(
  function(x,y){
    data.frame(y+1) %>% setNames(., x)
    }, 
  c("a", "b", "c"), 1:3, USE.NAMES = T, SIMPLIFY = F)

输出为:

$a
  a
1 2

$b
  b
1 3

$c
  c
1 4

答案 1 :(得分:0)

@DavisVaughan提供了解决方案 https://github.com/DavisVaughan/furrr/issues/10