2014-12-04 154 views
1

基本R问题。我似乎无法在以下代码中动态设置路径(假变量)。这是一个更大的代码片段的一部分,但我已经追查到这一点。我正在寻找一个文件夹,如果它存在,我想在该目录中创建一个子文件夹,只需要时间,然后将RDS保存在该目录中。下面的代码片段不起作用。R动态设置目录

目前,如果顶级目录存在,此代码将创建子目录,但会将RDS保存在顶级目录中而不是该子目录中。基本上每当我运行它时,my_dir总是出现在my_dir文件路径(out,subbie)被设置的地方。

out <- './output' 
subbie <- 'Hello, World' 

my_dir <- file.path(out, subbie) 

my_time <- format(Sys.time(), "%Y-%b-%d") 

if (file.exists(my_dir)){ 
    my_dir <- dir.create(my_dir, my_time) 
} else { 
    my_dir <- dir.create(my_dir) 
} 

saveRDS(my_df, file=file.path(my_dir, paste0('_', my_time, '.RDS'))) 

回答

3
my_dir <- dir.create(my_dir) 

在这里,你是给值TRUEFALSE变量my_dir。 也许如果file.exists(my_dir)FALSE,你想要: dir.create(粘贴(my_dir,my_time,sep =“/”),recursive = TRUE)。 这将创建不仅路径的最后一个元素。