将列表中元素的名称分配给 R 中的文件名

Assign names of elements in list to file name in R

我有一个包含 50 多个 csv 数据框的列表。我正在使用以下文件夹列出我的文件:

#list files   
estaciones <- list.files(path = "Path",
                                 recursive = T, pattern = ".csv", full.names = T)



head(estaciones)

[1] "D:/A/Stations/AngosturaCochea_108013/Angostura_Cochea.csv"      
[2] "D:/A/Stations/BocadeTrampa_162003/BocadeTrampa_162003.csv"      
[3] "D:/A/Stations/Caimito_140005/Caimito_140005.csv"      


#read csvs
estaciones2 = lapply(estaciones, read.csv)

我想将列表中每个元素的名称设置为其原始 CSV 文件名。

我已经尝试过使用它,但它并不是真的适合我:

estaciones3 <- setNames(estaciones2, substr(list.files("Path", pattern=".csv"))

如何将文件名分配给我的列表元素?

你可以使用-

estaciones2 = lapply(estaciones, read.csv)
names(estaciones2) <- tools::file_path_sans_ext(basename(estaciones))

其中 tools::file_path_sans_ext 将 return 不带扩展名的文件名,即 csv.