2013-12-14 145 views
0

如果你有一塊R代碼,命令和函數的組合,並且你想要逐行調試代碼,並且需要經過內部過程,R在它吐出之前正在執行出錯信息,可以使用哪些命令? trace()debug()似乎只是爲了功能。我正在嘗試運行我的整個腳本,並逐行列出項目,R在內部沿着每條命令行進行操作。R調試代碼

我研究了過去的檔案,我發現這一點: Debug Tools in R - stepping through code 但可惜沒有解決問題

+1

我不是專家,但[RStudio](http://www.rstudio.com/ide/docs/debugging/overview)可能是你的東西。 – Frithjof

+0

嗨Frith。我正在使用R工作室。它仍然需要調試。 – jessica

+0

你想要發生什麼?逐行運行代碼(除非你正在尋找內部函數,否則不需要調試)似乎會給你想要的,然後使用'traceback'來找出錯誤來自哪裏。 – Thomas

回答

1

嘗試browser功能。按'n'按鈕繼續。

1

我會鼓勵在集成開發環境(IDE)中執行此操作,而不是在代碼中執行此操作。使用IDE可以讓您的代碼乾淨簡單。

我使用名爲「RStudio」(http://www.rstudio.com)的IDE,它可用於Windows,Mac和Linux,使用起來非常簡單。

Rstudio的新版本有能力在腳本和函數中添加斷點:要做到這一點,只需點擊文件的左邊緣來添加斷點。你可以設置一個斷點,然後從這一點開始。您還可以訪問該環境中的所有數據,因此您可以嘗試命令。詳細請參照http://www.rstudio.com/ide/docs/debugging/overview。如果你已經安裝了Rstudio,你可能需要升級 - 這是一個相對較新的(2013年末)功能。

您可能還會發現其他具有類似功能的IDE。

0

在Rstudio中,如果按下Ctrl + R而沒有任何突出顯示的文字,將會在您的光標所在的同一行上運行任何代碼。然後你的光標會自動前進到下一行。您可以繼續按Ctrl + R來逐行運行您的代碼。

不知道你還想要什麼。在每行末尾添加; print(whatever)總是一個選項,但它很乏味。