【问题标题】:Add a variable to each dataframe in a list equal to the dataframe names向列表中的每个数据框添加一个变量,该变量等于数据框名称
【发布时间】:2020-07-13 20:19:17
【问题描述】:

我有一个以年份为名称的数据框列表(即 2020、2021、2022 等)。我想为每个数据框添加一个与其名称相同的年份变量。我能够添加年份变量 = NA,但无法弄清楚如何引用数据框名称。我到目前为止的代码如下:

data_list <- lapply(data_list, function(x) cbind(x, Year = NA))

谢谢。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    在这种情况下,我们可以使用Map 循环遍历list 以及listcbind 对应的列名来创建新列

    data_list <- Map(cbind, data_list, Year = names(data_list))
    

    或在tidyverse

    library(purrr)
    library(dplyr)
    data_list <- imap(data_list, ~ .x %>%
                              mutate(Year = .y))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-27
      • 2019-04-05
      • 2015-10-23
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      相关资源
      最近更新 更多