2016-02-12 94 views
2

我與我的同事共享大部分代碼,爲此我們需要編輯不同的根目錄以運行代碼。例如,我在訪問我的所有文件:設置兩條路徑指向相同的路徑

/usethis/mypath/mydir/now_same/mapk/ 

,他是:

/media/hispath/hisdir/now_same/mapk/ 

我想要做的是對的任何後續路徑方向來訪問代碼的任何文件/子程序, 我想指向我的目錄,即(/usethis/mypath/mydir/),並且之後沒有改變任何東西,即(/now_same/mapk/)。所以如果他向我發送代碼/media/hispath/hisdir/now_same/mapk/,我只想使用它而不更改代碼中的任何內容。

我們該怎麼做?作爲參數

+0

你可以使用'setwd ()'將工作目錄設置爲適當的路徑一次。出現在腳本中的所有路徑將被相對於該路徑理解但當然,這意味着需要更改一行代碼。如果你在使用Linux,使用軟鏈接可能是一個可以在R代碼沒有改變的情況下運行的選項。 – Stibu

+0

你能用normalizePath()做什麼嗎??? – user1945827

回答

0

通工作主任,見例如:

myScript.R

args <- commandArgs(trailingOnly = TRUE) 
setwd(args[1]) 

# other code 
# ... 
# end of myScript.R 

現在運行自定義工作目錄的腳本:

Rscript myScript.R path/to/my/directory