R исполняемый файл останавливается после записи одного CSV

Я сделал файл Rexec, используя это руководство: http://www.r-datacollection.com/blog/Making-R-files-executable/

Я сделал один, используя файлы, которые запускаются полностью, когда я открываю Rstudio и запускаю его. Но созданный мной файл Rexec запускается до первого csv, а затем останавливается. Есть ли способ сохранить файл Rexec как один файл и запустить все csvs, или он должен стать несколькими файлами?

Рассматриваемый код, который существует в одном файле, выглядит так:

    #Measure the time taken
start.time <- Sys.time()

# Load functions in other R files
source("R/Functions.R")
source("R/Negatives Check.R")
source("R/Control Totals.R")
source("R/Validations.R")

# Load Packages
load_packages()

files = load_TZP()
files2 = load_TZP_stacked()

# Negatives Check---------------------------------------------------------------
write_csv(cbind(Name = names(files), create_output()), 
          paste0("Final CSV/Negatives Check ", gsub(":", ".", Sys.time()), ".csv"))

Это где файл.Rexec останавливается

# Control Totals Check----------------------------------------------------------

# Choose limit to account for rounding
total_limit = 10

write_csv(cbind(#Name = control_total_files,
                #Check = control_total_checks,
                create_output_totals()), 
          paste0("Final CSV/Control Totals ", gsub(":", ".", Sys.time()), ".csv"))

# Validations Check-------------------------------------------------------------

# Choose a limit for the difference, to account for rounding errors
limit = 0.1

write_csv(cbind(Name = valid_names,
                Check = valid_checks,
                create_output_geo()), 
          paste0("Final CSV/Validations ", gsub(":", ".", Sys.time()), ".csv"))

# Measure the time taken
end.time <- Sys.time()
time.taken <- end.time - start.time
time.taken

1 ответ

Решение

А как насчет ваших рабочих каталогов (сначала для RStudio, а затем для Rexec)? Они одинаковы?

Возможно, вам нужно изменить рабочий каталог в Rexec.

# Returns an absolute filepath of current working directory of the R process
getwd()

# setwd is used to set the working directory to dir
setwd("C:/Users/User/Documents") # for example
Другие вопросы по тегам