2017-03-15 60 views
4

我一直在玩R Markdown,我真的很喜歡它,因爲在每次分析之後,我都需要編寫一個詳細說明結果的(Word)報告。使用R Markdown時,代碼和報告是相同的文檔,所以很容易記住,我選擇在代碼中的某個點執行分析B,因爲之前的分析A的結果。在R Markdown中調試代碼

但是,我無法在R Studio中設置R Markdown中的斷點,這嚴重限制了執行高效調試的可能性。這意味着最終我只能使用Markdown進行非常簡單的分析,其中R代碼非常簡單,無論是我不需要調試,或者我都可以手動進行調試。這是可以預料的,也就是衆所周知,R Markdown只能用於簡單的分析?或者有解決方案嗎?

+0

我不明白downvote的原因。問題很明顯:我無法在R Markdown中設置斷點(或者至少我無法)使用R Studio。那麼如何在R Markdown中調試複雜的代碼呢? – DeltaIV

回答

4

您可以在代碼中使用browser()來設置斷點。請參閱https://support.rstudio.com/hc/en-us/articles/205612627-Debugging-with-RStudio#debugging-in-r-markdown-documents

我發現將自定義函數寫入.R和source()它在Markdown中會更有用。然後,你獲得兩全其美的好處。

+0

在R Markdown中,我通常有很多塊。你是否打算爲每個塊寫一個自定義函數?如果一個函數的結果依賴於另一個塊中的函數,那麼調試似乎會變得複雜。 – DeltaIV

+1

不,我通常在幾個.R文件中編寫所有我正在使用的函數(例如,一個用於在許多分析中重複使用的常用自定義函數,另一個用於我爲此特定分析編寫的自定義函數),將文件第一個塊,並在隨後的塊中使用這些功能。 –

+0

太棒了!謝謝 :) – DeltaIV