R - 使用 for 循环导入多个 xlsx 文件

R - Importing multiple xlsx files with a for loop

我在编写函数以使用 for 循环将多个 .xlsx 文件作为单独的数据帧读取到 R 中时遇到了一些问题。当我 运行 函数没有任何反应。没有错误,但也没有数据帧加载到 R 中。当我从函数中取出分配部分并手动将 for 循环的输入更改为示例时,分配函数起作用。这是代码示例:

library(readxl)
Load<-function(File_Path,Samp){
  setwd(File_Path)
  for (i in 1:length(Samp)){
    assign(paste("Sample_",Samp[i],sep = ""),read_excel(paste("Sample_",Samp[i],".xlsx",sep = "")))
  }
}
Load(File_Path = "~/Desktop/Test",Samp = "A") # Doesn't Work

#When this piece is taken out of the loop and the Sample ("A") replaced it works.
assign(paste("Sample_","A",sep = ""),read_excel(paste("Sample_","A",".xlsx",sep = ""))) # Does Work

实际上有一长串样本要加载,想要通过将列表分配给 "Samp" 来加载,例如 c("A","C","D").预先感谢您的任何帮助。

您可以通过将 inherits=TRUE 添加到 assign

来解决您的问题