我有一个包含 18 的列表。 列表中的每个数据框包含 25 行和 18 列。对于这 18 个数据框,我有一个公司向量,我需要向数据框中的每个列表添加一个新列,以便每个数据框的第一列应该是公司名称。第一个数据框应将第一列作为第一个公司名称,第二个数据框应具有第二个公司名称等,公司名称应写入相应数据框的所有行中。怎么做?
假设包含公司名称的向量是 df_vector
。然后你可以使用 purrr::map2(df_vector, df_list, cbind)
.它将创建一个与df_list
相同数量的组件列表(此处15
(,并且所有这些数据帧的第一列将作为相应的公司名称。
在下图中,我假设名称是第一个 15 个字母。
set.seed(seed = 1234)
Dates <- seq(from = as.Date(x = "1990-01-01"),
to = as.Date(x = "1994-12-31"),
by = "month")
n <- length(x = Dates)
df_list <- lapply(X = 1:15,
FUN = function(i)
{
tmp <- matrix(data = rnorm(n = 5 * n),
ncol = 5)
tmp <- apply(X = tmp,
MARGIN = 2,
FUN = cumsum)
colnames(x = tmp) <- paste0("Var", 1:5)
tmp <- as.data.frame(x = tmp)
tmp$Date <- Dates
tmp
})
df_vector <- letters[1:15]
purrr::map2(.x = df_vector,
.y = df_list,
.f = cbind)
希望这有帮助。