2015-03-18 123 views
1

我正處在從MATLAB過渡到R的痛苦過程中,並且還沒有找到整齊排列的MathWorks網站進行諮詢。RStudio中的「隱藏」功能

編寫MATLAB函數時,它們存儲在本地驅動器中,可以在我的源代碼中訪問(只要該函數位於活動目錄中)。在R中編寫函數時,我需要「運行」它,因此它存儲在全局環境中,然後我可以使用它。當然,這樣做有一個'更好'的方法,因爲我需要參考許多功能。我可以看似「隱藏」它們嗎,所以我不必看到它們,但總是知道它們存在?

在此先感謝

+7

'?source' ....? – 2015-03-18 21:56:29

+6

創建[package](http://www.statmethods.net/interface/packages.html) – mnel 2015-03-18 22:02:16

+1

您也可以創建一個或多個從當前目錄運行的'.Rprofile'文件。有關許多詳細信息和選項,請參閱「啓動」。我相信RStudio使用的項目系統可能允許量身定製'.Rprofile'文件,儘管我承認自己並不熟悉它使用的確切機制。 – 2015-03-18 22:35:19

回答

2

source('F:\\RWorkingDirectory\\my_functions.r')或創建您自己的R包,它是很容易做到Rstudio。

+1

對於初學者,您可以通過提及您從別人的評論中拿走所有內容來展示一些禮貌。其次,創建一個包並不是很「容易」。 – 2015-03-18 22:32:59

+0

對不起,我不是故意要拿任何人的功勞。我只是想讓個體將包含在代碼中的實際語句形象化,這會更有意義。如果您可以創建功能,使用Rstudio中的新更新,那麼您只需單擊構建並以二進制形式導出,然後在幾秒鐘內通過命令行進行安裝。 – user2600629 2015-03-18 22:35:55

+0

我不認爲從評論中抽取任何錯誤,即使是未提交的(如果我想發佈我可以有的答案)。但我會鼓勵你*不*鼓勵OP使用絕對路徑:適當地設置工作目錄,然後'source(「my_functions.R」)'通常更好。我能想到的唯一反例是如果你想存儲所有的功能,並在全球範圍內用於許多不同的項目;在這種情況下,儘管你可能會更好地創建一個包,從長遠來看。 – 2015-03-18 22:40:24

1

感謝您的建議。我決定改爲建立一個環境。

例如,

  1. 設立研發腳本我需要的功能(S)稱爲MainFunctions.R
  2. 添加到.Rprofile
e <- new.env() 
source("MainFunctions.R",local=e) 
attach(e) 

現在我需要簡單地編輯這個文件,而不用擔心必須加載它們,或者創建一個包。