簡體   English   中英

R:為數據幀生成動態名稱

[英]R: Generate dynamic names for dataframes

我需要從一個目錄中讀取幾個 csv 文件並將每個數據保存在單獨的 dataframe 中。 文件名在字符向量中:

lcl_forecast_data_files <- dir(lcl_forecast_data_path, pattern=glob2rx("*.csv"), full.names=TRUE)

例如:“fruc2021.csv”、“gem2020.csv”、“strb2021.csv”。

到目前為止,我正在逐步閱讀文件:

fruc2021 <- read_csv2("fruc2021.csv")
gem2020 <- read_csv2("gem2020.csv")
strb2010 <- read_csv2("strb2021.csv")

但是目錄和子目錄中還有更多文件。 一個一個地閱讀它們是非常乏味的。

現在我已經對 map function 進行了一些實驗,但我還沒有弄清楚如何從文件名中自動生成數據幀的名稱。

第一個簡單的嘗試是:

lcl_forecast_data <- lcl_forecast_data_files %>% 
  map(
    function(x) {
      str_replace(basename(x), ".csv","") <- read_csv2(x)
    }
  )

但這不起作用:-(

甚至可以為這樣的數據框生成名稱嗎? 還是有其他更簡單的可能性?

問候本尼

使用www.DeepL.com/Translator翻譯(免費版)

如果您不想按照@Onyambu 的建議使用列表和 lapply,您可以使用 assign() 來生成數據幀。

filenames <- c("fruc2021.csv", "gem2020.csv", "strb2021.csv")

for (i in filenames) {
    assign(paste('',gsub(".csv","",i),sep=''),read.csv(i))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM