簡體   English   中英

R項目/包開發的ESS工作流程

[英]ESS workflow for R project/package development

任何人都可以在ESS下分享他在R peject開發工作流程方面的經驗嗎? 我試過幾次學習emacs,但我還沒有得到它。 我可以將ESS理解為編輯器,但ESS中是否有項目視圖? 什么是設置/查看R項目目錄,編碼和測試的有效方法,以及ESS如何有利於整個過程?

您是僅將ESS用作優秀的R編輯器還是傾向於在ESS中模擬R IDE環境?

感謝您的任何建議。

聽起來你問的是兩個不同的問題。 一個問題涉及工作流程以及使用ESS的其他問題。 當我使用StatET和Eclipse時,我將分享我關於您的問題的工作流程方面的經驗。

和文森特一樣,我也遵循Josh Reich在此提出的工作流程(也參見Hadley的有用評論): 統計分析和報告撰寫的工作流程

雖然它可以在不同的項目之間變化,但我傾向於有幾個主要的R文件

  • import.R:這會導入數據文件並進行任何必要的清理和操作
  • analyse.R:這會生成任何最終報告所需的輸出
  • main.R:這會調用import.R和analyse.R

目標是import.R和analyse.R表示產生任何分析的最終結果的完整和最終工作流程。

就分析項目的目錄結構而言,我通常也會有以下文件夾

  • data :用於存儲任何原始數據文件
  • meta :用於存儲元數據,例如變量標簽,測試評分系統,重新編碼信息等。
  • 輸出 :用於存儲我的分析生成的任何圖形,表格或文本,我可能希望將其合並到外部程序中
  • temp :在探索數據和頭腦風暴分析時,我喜歡將代碼鍵入文件而不是使用控制台。 我傾向於標記這些temp1.R,temp2.​​R,temp3.R。 我將它們存儲在臨時文件夾中。 這樣我就可以輕松訪問永久記錄。 如果分析成為最終的,它們會被合並到一個主要的R文件中(即import.R或analysis.R)
  • 函數 :如果我認為在幾個項目中需要一個函數,我經常將每個文件中的一個函數或一組相關函數放在一個名為functions的文件夾中的文件中。 當包開發的形式要求超過需要時,這使得跨項目重用功能相對容易。
  • library :如果我想創建一些我認為將特定於項目的常規函數​​,我會將它們放在這個文件夾中
  • save :用於存儲任何已保存R對象的文件夾

使用StatET和Eclipse可以輕松地與這樣的文件系統進行交互。 當然,鑒於所有使用ESS和Emacs的R大師,我確信它也能很好地處理與文件系統的交互。

我不確定你對這個問題的期望是什么。 舉個例子 ,我剛剛偷了(並改編了) 這里建議的系統(Josh Reich)

為每個項目創建一個文件夾,並將您的工作分成一堆不同的.R文件:

  • Load.R用於將原始數據導入R;
  • Prep.R用於清理數據,重新編碼變量等;
  • Func.R用於編碼評估所需的任何自定義函數;
  • Eval.R用於運行最終的東西。

如果這不適合您的風格,只需更改它。

然后,您可以擁有一個主文件,一個接一個地調用每個部分(有利於再現性),或者在不同階段保存,並讓各個腳本加載適當的數據(如果某些准備工作計算量很大,那么這是好的/時間密集)。

**

另一方面,在鏈接上發布的技巧確實幫助我進入了ESS。 它將Shift-Enter轉變為一站式ESS商店: http//www.kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess /

其他人給了你一些關於如何為項目設置目錄/文件結構的好主意。

您還詢問了“項目視圖”,在這種情況下,您可能需要查看Emacs代碼瀏覽器 (ECB)。

你可以在它的網站上找到它的一些屏幕截圖,在這里: http//ecb.sourceforge.net/screenshots/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM