All fitted model objects have methods for saving (moving to a specified location) the files created by CmdStanR to hold CmdStan output csv files and input data files. These methods move the files from their current location (possibly the temporary directory) to a user-specified location. The paths stored in the fitted model object will also be updated to point to the new file locations.
The versions without the save_
prefix (e.g., $output_files()
) return
the current file paths without moving any files.
save_output_files(dir = ".", basename = NULL, timestamp = TRUE, random = TRUE)
save_latent_dynamics_files(
dir = ".",
basename = NULL,
timestamp = TRUE,
random = TRUE
)
save_profile_files(dir = ".", basename = NULL, timestamp = TRUE, random = TRUE)
save_data_file(dir = ".", basename = NULL, timestamp = TRUE, random = TRUE)
save_config_files(dir = ".", basename = NULL, timestamp = TRUE, random = TRUE)
save_metric_files(dir = ".", basename = NULL, timestamp = TRUE, random = TRUE)
output_files(include_failed = FALSE)
profile_files(include_failed = FALSE)
latent_dynamics_files(include_failed = FALSE)
data_file()
config_files(include_failed = FALSE)
metric_files(include_failed = FALSE)
(string) Path to directory where the files should be saved.
(string) Base filename to use. See Details.
(logical) Should a timestamp be added to the file name(s)?
Defaults to TRUE
. See Details.
(logical) Should random alphanumeric characters be added to the
end of the file name(s)? Defaults to TRUE
. See Details.
(logical) Should CmdStan runs that failed also be
included? The default is FALSE.
The $save_*
methods print a message with the new file paths and (invisibly)
return a character vector of the new paths (or NA
for any that couldn't be
copied). They also have the side effect of setting the internal paths in the
fitted model object to the new paths.
The methods without the save_
prefix return character vectors of file
paths without moving any files.
For $save_output_files()
the files moved to dir
will have names of
the form basename-timestamp-id-random
, where
basename
is the user's provided basename
argument;
timestamp
is of the form format(Sys.time(), "%Y%m%d%H%M")
;
id
is the MCMC chain id (or 1
for non MCMC);
random
contains six random alphanumeric characters;
For $save_latent_dynamics_files()
everything is the same as for
$save_output_files()
except "-diagnostic-"
is included in the new
file name after basename
.
For $save_profile_files()
everything is the same as for
$save_output_files()
except "-profile-"
is included in the new
file name after basename
.
For $save_metric_files()
everything is the same as for
$save_output_files()
except "-metric-"
is included in the new
file name after basename
.
For $save_config_files()
everything is the same as for
$save_output_files()
except "-config-"
is included in the new
file name after basename
.
For $save_data_file()
no id
is included in the file name because even
with multiple MCMC chains the data file is the same.
# \dontrun{
fit <- cmdstanr_example()
fit$output_files()
#> [1] "/var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/logistic-202407021539-1-615e63.csv"
#> [2] "/var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/logistic-202407021539-2-615e63.csv"
#> [3] "/var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/logistic-202407021539-3-615e63.csv"
#> [4] "/var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/logistic-202407021539-4-615e63.csv"
fit$data_file()
#> [1] "/private/var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpBGNQRs/temp_libpath45223306cea5/cmdstanr/logistic.data.json"
# just using tempdir for the example
my_dir <- tempdir()
fit$save_output_files(dir = my_dir, basename = "banana")
#> Moved 4 files and set internal paths to new locations:
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/banana-202407021539-1-897d5b.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/banana-202407021539-2-897d5b.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/banana-202407021539-3-897d5b.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/banana-202407021539-4-897d5b.csv
fit$save_output_files(dir = my_dir, basename = "tomato", timestamp = FALSE)
#> Moved 4 files and set internal paths to new locations:
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/tomato-1-4291b8.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/tomato-2-4291b8.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/tomato-3-4291b8.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/tomato-4-4291b8.csv
fit$save_output_files(dir = my_dir, basename = "lettuce", timestamp = FALSE, random = FALSE)
#> Moved 4 files and set internal paths to new locations:
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/lettuce-1.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/lettuce-2.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/lettuce-3.csv
#> - /var/folders/s0/zfzm55px2nd2v__zlw5xfj2h0000gn/T/RtmpiACQ3q/lettuce-4.csv
# }