【发布时间】:2020-07-13 20:19:17
【问题描述】:
我有一个以年份为名称的数据框列表(即 2020、2021、2022 等)。我想为每个数据框添加一个与其名称相同的年份变量。我能够添加年份变量 = NA,但无法弄清楚如何引用数据框名称。我到目前为止的代码如下:
data_list <- lapply(data_list, function(x) cbind(x, Year = NA))
谢谢。
【问题讨论】:
我有一个以年份为名称的数据框列表(即 2020、2021、2022 等)。我想为每个数据框添加一个与其名称相同的年份变量。我能够添加年份变量 = NA,但无法弄清楚如何引用数据框名称。我到目前为止的代码如下:
data_list <- lapply(data_list, function(x) cbind(x, Year = NA))
谢谢。
【问题讨论】:
在这种情况下,我们可以使用Map 循环遍历list 以及list 和cbind 对应的列名来创建新列
data_list <- Map(cbind, data_list, Year = names(data_list))
或在tidyverse
library(purrr)
library(dplyr)
data_list <- imap(data_list, ~ .x %>%
mutate(Year = .y))
【讨论】: