R:为数据帧生成动态名称
R: Generate dynamic names for dataframes
我需要从目录中读取多个 csv 文件并将每个数据保存在单独的数据框中。
文件名在字符向量中:
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")
但是目录和子目录中的文件比较多。一个一个的看完,很枯燥。
现在我已经对地图功能进行了一些试验,但我还没有弄清楚如何从文件名自动生成数据帧的名称。
第一个简单的尝试是:
lcl_forecast_data <- lcl_forecast_data_files %>%
map(
function(x) {
str_replace(basename(x), ".csv","") <- read_csv2(x)
}
)
但这没有用:-(
甚至可以为这样的数据框生成名称吗?
或者还有其他更简单的可能性吗?
问候
本恩
用 www.DeepL.com/Translator 翻译(免费版)
如果您不想使用列表并且 lapply 正如@Onyambu 建议的那样,您可以使用 assign() 来生成数据帧。
filenames <- c("fruc2021.csv", "gem2020.csv", "strb2021.csv")
for (i in filenames) {
assign(paste('',gsub(".csv","",i),sep=''),read.csv(i))
}
我需要从目录中读取多个 csv 文件并将每个数据保存在单独的数据框中。 文件名在字符向量中:
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")
但是目录和子目录中的文件比较多。一个一个的看完,很枯燥。
现在我已经对地图功能进行了一些试验,但我还没有弄清楚如何从文件名自动生成数据帧的名称。
第一个简单的尝试是:
lcl_forecast_data <- lcl_forecast_data_files %>%
map(
function(x) {
str_replace(basename(x), ".csv","") <- read_csv2(x)
}
)
但这没有用:-(
甚至可以为这样的数据框生成名称吗? 或者还有其他更简单的可能性吗?
问候 本恩
用 www.DeepL.com/Translator 翻译(免费版)
如果您不想使用列表并且 lapply 正如@Onyambu 建议的那样,您可以使用 assign() 来生成数据帧。
filenames <- c("fruc2021.csv", "gem2020.csv", "strb2021.csv")
for (i in filenames) {
assign(paste('',gsub(".csv","",i),sep=''),read.csv(i))
}