我有一个名为“Results”的文件夹,其中包含CSV文件。这些文件的命名方案为“Sim_Results_x.csv”,其中x是第n次模拟。我希望将这些文件制作成 Dataframe 列表,这些 Dataframe 以读取它们的文件命名。例如,我希望在 Dataframe 列表中将Sim_Results_1.csv命名为Sim_Results_1。而不是1。我尝试了下面的代码,但不是在文件之后命名dataframe,而是在文件之后命名第一列,所有其他列都命名为“NA”。我该如何解决这个问题?
#get list of names of all files in results folder
filenames <- list.files("Results", pattern="*.csv", full.names=TRUE)
#sort them in numeric order
filenames <- mixedsort(filenames)
#combine into list of dataframes
ldf <- lapply(filenames, function(x) {
name <- tools::file_path_sans_ext(basename(x))
df <- read.csv(x)
names(df) <- name
# Return dataframe
df
})
2条答案
按热度按时间7eumitmz1#
可以使用基本的R
setNames()
函数,关键是要将名称应用于列表,而不是列表中的每个项。lo8azlld2#
使用Map/read.csv,然后编辑列表名称,如最后一行所示。