I have code to create new files saving graphics into new subfolders like the following:
library(tidyverse)
library(ggplot2)
carb_list = unique(mtcars$carb)
iterate = function(z){
df = mtcars |> filter(carb == z)
df |>
ggplot(aes(x=cyl,y=mpg)) + geom_point()
ggsave(filename = paste0("new/carb",z,"/plot.png"))
}
sapply(carb_list, iterate)
However, each time this runs, it causes me to have to approve the creation of a new subfolder, as I receive this prompt in the console:
Cannot find directory new/carb4.
ℹ Would you like to create a new directory?
This used to never be the case, as it would automatically create a new subfolder for me, and not require manual approval. But on the most recent r update [4.3.3 (Angel Food Cake)] it now requires this every time.
Is there a way to configure r so that it never asks, and just automatically creates the subfolders? I say configure because I would like this to always apply on every file/project. I have seen other workarounds where you can tell it to create a folder with a function if not already created, but it appears on an individual basis for each file name/folder. I do not want this, I would instead like the old way where it automatically generates the subfolder, as I have too many different subfolders/files to do this one-by-one.
This is not actually caused by a change in your R version but was introduced in
ggplot2 3.5.0:You can set this to
TRUEto recursively create directories:General approach
More generally, e.g. with other plotting libraries, you can use
dir.create(recursive = TRUE)to create directories if they do not exist.