【发布时间】:2018-08-20 08:56:16
【问题描述】:
我正在使用lapply 从一个目录中读取多个.xls 文件。由于数据表示从文件名给出的不同 ID 的站点收集的数据,我想将列表名称设置为每个文件的文件名。
我目前正在做以下事情:
library(readxl)
# Set filepath
file_location="FILEPATH"
# List all files within folder
filenames=list.files(file_location, pattern="^ID.*xls",full.names = T)
# Import all files
import_data=lapply(filenames, function(x) read_xls(x, col_names = T))
然后我可以运行这样的东西:
filenames_short=gsub(".xls", "", x=list.files(file_location, pattern="^ID.*xls",full.names = F))
names(import_data)=filenames_short
但是,我悲观的自我告诉我,文件名的顺序可能与列表的顺序不匹配。肯定有办法在原始命令中设置它吗?
【问题讨论】:
-
你太悲观了。
-
你可能是对的,@jogo。希望有一个更优雅的解决方案。