将向量的元素绑定到列表中

时间:2019-06-24 05:03:45

标签: r

我有18个清单。列表中的每个数据框包含25行和18列。我为此18个数据框有一个公司矢量,我需要向数据框的每个列表中添加一个新列,以使每个数据框的第一列应为公司名。第一数据框应具有第一列作为第一公司名称,第二数据框应具有第二公司名称等。公司名称应写入相应数据框的所有行中。该怎么做?

1 个答案:

答案 0 :(得分:0)

假设包含公司名称的向量为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)

希望这会有所帮助。