R: как включить аргумент функции в путь к файлу - PullRequest
0 голосов
/ 18 марта 2020

Я создал функцию 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 

1 Ответ

0 голосов
/ 19 марта 2020
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. Который был повторяющимся и болезненным

...