The write.fcat function writes a format catalog
to the file system.  By default, the catalog will be written to the
current working directory, using the variable name as the file name.  These
defaults can be overridden using the appropriate parameters.  The catalog
will be saved with a file extension of ".fcat".
write.fcat(x, dir_path = getwd(), file_name = NULL)The full path of the saved format catalog.
Other fcat:
as.data.frame.fcat(),
as.fcat(),
as.fcat.data.frame(),
as.fcat.fmt_lst(),
as.fcat.list(),
fcat(),
is.fcat(),
print.fcat(),
read.fcat()
# Create format catalog
c1 <- fcat(num_fmt  = "%.1f",
           label_fmt = value(condition(x == "A", "Label A"),
                             condition(x == "B", "Label B"),
                             condition(TRUE, "Other")),
           date_fmt = "%d%b%Y")
#> # A user-defined format: 3 conditions
#>   Name Type Expression   Label Order
#> 1    x    U   x == "A" Label A    NA
#> 2    x    U   x == "B" Label B    NA
#> 3    x    U       TRUE   Other    NA
#> # A format catalog: 3 formats
#> - $num_fmt: type S, "%.1f"
#> - $label_fmt: type U, 3 conditions
#> - $date_fmt: type S, "%d%b%Y"
           
# Get temp directory
tmp <- tempdir()            
           
# Save catalog to file system
pth <- write.fcat(c1, dir_path = tmp)
# Read from file system
c2 <- read.fcat(pth)
#> # A format catalog: 3 formats
#> - $num_fmt: type S, "%.1f"
#> - $label_fmt: type U, 3 conditions
#> - $date_fmt: type S, "%d%b%Y"
# Use formats in the catalog
fapply(2, c1$num_fmt)
#> [1] "2.0"
# [1] "2.0"
fapply(c("A", "B", "C", "B"), c1$label_fmt)
#> [1] "Label A" "Label B" "Other"   "Label B"
# [1] "Label A" "Label B" "Other"   "Label B"
fapply(Sys.Date(), c1$date_fmt)
#> [1] "06Oct2025"
# [1] "07Jan2024"