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