使用循环在列表中给定名称的变量命名

时间:2019-09-14 21:04:50

标签: r excel list loops variable-assignment

我在一个excel文件中有两个数据库,每个数据库都在单独的excel表中,分别是NOMINAL和REAL。然后,我想使用循环将这些数据库上传到R中,如下所示:

library(readxl)
mylist <-list("NOMINAL", "REAL")
for (page in mylist) {
  page <- read_excel("C:/Users/Cys/OneDrive/Documents/Database/BIS-MLTI-FX.xlsx", sheet = page)
}

运行此循环时,我的最后一个数据库(REAL)的名称为“ page”,因为分配不允许使用提供的列表中的名称来命名我的数据库。

我的问题是我应该如何编写此循环,以便将列表中的名称分配给我的数据库?

1 个答案:

答案 0 :(得分:1)

如果要循环执行此操作,则首先必须创建一个列表对象。然后,您可以将元素分配给该列表。

sheet_names <- c("NOMINAL", "REAL")
sheet_dfs <- list()

for (page in sheet_names) {
  sheet_dfs[page] <- 
    read_excel("C:/Users/Cys/OneDrive/Documents/Database/BIS-MLTI-FX.xlsx", 
    sheet = page)
}