首页 > 解决方案 > R:如何在文件路径中包含函数参数

问题描述

我创建了一个函数 arcgisrail 来过滤我的数据并将其保存为 excel 文件。当我运行该功能时,arcgisrail("Agricultural products")我希望将我的 excel 文件保存为 农产品.xlsx

此代码将文件保存为 i.xlsx

想知道如何在文件路径中包含函数参数,在本例中为“i”

    arcgisrail <- function(i){
        Rail%>%
        filter(Commodity == i)%>%
        write.xlsx("C:\\New folder\\Analysis\\FolderforARCGIS\\i.xlsx",
                   sheetName = "Sheet1",
                   col.names = TRUE,
                   row.names = TRUE,
                   append = FALSE,
                   showNA = TRUE,
                   password = NULL)
        }
    arcgisrail("Agricultural products")


After reading the comments tried

arcgisrail <- function(i){
    Rail%>%
    filter(Commodity == i)%>%
    write.xlsx(paste("S:\\GradSchool\\Doctor of Philosophy\\Second Year\\RA - TT\\New folder\\Canada Freight Analysis\\FolderforARCGIS",i,sep="\\"),
               sheetName = "Sheet1",
               col.names = TRUE,
               row.names = TRUE,
               append = FALSE,
               showNA = TRUE,
               password = NULL
    )

}

但收到错误消息

Error in createWorkbook(type = ext) : 
  Unknown format Agricultural products 

标签: rfunctionxlsx

解决方案


arcgistruck <- function(i){
  ARCGISdata%>%
    filter( Mode=="Truck for-hire", Commodity == i)%>%
    write_xlsx(paste("c:\\New folder\\FolderforARCGIS\\Truck",i,sep="\\"),
               col_names = TRUE, format_headers = TRUE)
    }

write.xlsx而不是使用我使用的功能write_xlsx

这会生成文件名末尾没有 .xlsx 的文件。所以不得不手动重命名所有生成的文件并添加.xlsx。这是重复和痛苦的


推荐阅读