我在這裏看到很多相關的答案,但我沒有得到一個正確的方法來解決我的問題在Windows系統下... 我知道鏈接the similar question 我明白了setwd()
可以找到我想要的目錄,但是,我的R腳本可能會移動到另一個目錄而無需任何修改,所以我想知道當前的文件目錄,因爲存在像source(...)
這樣的表達式,這個被稱爲源文件的執行文件位於一個R項目中的同一個父目錄,我該怎麼辦? 任何幫助表示讚賞。我怎樣才能得到R當前文件目錄
1
A
回答
2
基本上,如果你編寫腳本並且這些腳本取決於它們在哪裏,那麼你就是在做錯了。
在軟件包中編寫代碼。參數化功能使其通用。如果您有包含數據的文件夾,請將其中一個參數作爲文件夾。
調用source()
的腳本不能可靠地定位自己,但是這不應該是一個問題,因爲WHATEVER調用的腳本知道哪裏的腳本(它,或者它還能怎麼稱呼呢?),所以它可以通過它作爲參數。喜歡的東西:
> youarehere = "C:\foo\"
> source("C:\foo\bar.R")
現在bar.R
可以做setwd(youarehere)
,它會工作,即使寫的不好,使得它依賴於它包含的文件夾採購其他代碼。
或者,你可以這樣做:
> setwd(youarehere)
> source("bar.R")
在您的電話功能。
但是,真的,它是一個失敗,它是一個寫得不好的代碼的標誌。使用函數,編寫軟件包,使用devtools,其實並不難,那麼你的代碼就可以在任何地方工作,而且你不會編寫愚蠢的腳本,這些腳本是source()
調用的曲折迷宮。
保持優雅。
1
您可以使用getwd()
功能讓你的當前目錄,並給它一個名字,說:
cpath = getwd()
另一個有用的功能是file.path
,它可以幫助您指定與簡單的語法,新的目錄。例如,你想這是「上面」的當前目錄下一級目錄,你可以使用:
upp.dir = file.path("..", "cpath")
這給upp.dir
爲"../Your_Current_Dir"
。如何改變當前目錄中的另一個文件夾(稱爲Folder_A)?使用:
folderA = file.path("cpath", "Folder_A")
這些可能有助於輕鬆瀏覽文件系統。
相關問題
- 1. 我怎樣才能得到py2exe中的可執行文件的當前目錄?
- 2. 我怎樣才能得到checkboxlist當前選定的項目值
- 3. 我怎樣才能得到
- 4. 我怎樣才能得到
- 5. 我怎樣才能獲得R中
- 6. 我怎樣才能得到父組件
- 7. 我怎樣才能得到當前SparkSession在
- 8. 我怎樣才能得到當前用戶名在Silverlight 2.0
- 9. 我怎樣才能得到當前的片段ID
- 10. 我怎樣才能得到當前頁面的DOM
- 11. 我怎樣才能UIToolbar當前視圖
- 12. 我怎樣才能得到一個目錄從URI
- 13. 我怎樣才能得到完整的當前網絡utl,包括當前#anchor?
- 14. 我怎樣才能找到在R
- 15. 我怎樣才能看到sdf文件
- 16. 在PyCharm中,我怎樣才能保存當前文件?
- 17. 我怎樣才能得到一個文件夾的目錄,然後它的目錄的目錄等......?
- 18. 我怎樣才能得到一個sbt子項目中的當前項目的參考build.sbt文件
- 19. 我怎樣才能在Linux中的樹型文件目錄到文本文件
- 20. 我怎樣才能獲得當前聲音的音量?
- 21. Android ImageView:我怎樣才能獲得當前的旋轉角度?
- 22. 我怎樣才能得到Parsley.js
- 23. 我怎樣才能得到Queryable.Join的MethodInfo
- 24. 我怎樣才能得到一個TD
- 25. 我怎樣才能得到的數字
- 26. 我怎樣才能得到statechange
- 27. 我怎樣才能得到這些值
- 28. 我怎樣才能得到其他表
- 29. 我怎樣才能得到一個RejectedExecutionException
- 30. 我怎樣才能得到NSScrollView尊重
OP要文件的來源目錄,我認爲... – Spacedman