2014-12-04 152 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)。 這將創建不僅路徑的最後一個元素。