【问题标题】:R mutate list of tables based on a date vectorR mutate 基于日期向量的表列表
【发布时间】:2020-04-10 16:00:27
【问题描述】:
list(tibble(x = 1,y =2),tibble(x = 3 , y= 4),tibble(x = 5,y = 6))

dates = seq(as.Date("2020-02-04"),as.Date("2020-02-06"),1)

我有一个表格列表,想添加一个列,每个表格在日期序列中取 1 个值,导致 table1 的日期列填充 2020-02-04 ,table2 填充 2020-02-05 和表 3 与 2020-02-6。

【问题讨论】:

    标签: r list dictionary purrr dplyr


    【解决方案1】:

    你可以使用 purrr 包中的 map2 函数,这样行吗?

    library(tidyverse)
    
    old_list <- list(tibble(x = 1,y =2),tibble(x = 3 , y= 4),tibble(x = 5,y = 6))
    
    dates <- seq(as.Date("2020-02-04"),as.Date("2020-02-06"),1)
    
    new_list <- map2(old_list, dates, function(x, y){
      x[["date"]] <- y
      x
    })
    
    new_list
    
    [[1]]
    # A tibble: 1 x 3
          x     y date      
      <dbl> <dbl> <date>    
    1     1     2 2020-02-04
    
    [[2]]
    # A tibble: 1 x 3
          x     y date      
      <dbl> <dbl> <date>    
    1     3     4 2020-02-05
    
    [[3]]
    # A tibble: 1 x 3
          x     y date      
      <dbl> <dbl> <date>    
    1     5     6 2020-02-06
    

    【讨论】:

    • 是的,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 2022-10-06
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多