我怎樣才能找出發生錯誤的地方?找出調試時R在哪裏發生錯誤
我遇到這樣
companies <- # vector with all companies in my data.frame
dates <- # vector with all event dates in my data.frame
for(i in 1:length(companies)) {
events_k <- # some code that gives me events of one company at a time
for{j in 1:nrow(events_k)) {
# some code that gives me one event date at a time
results <- # some code that calculates stuff for that event date
}
mylist[[i]] <- results # store the results in a list
}
在這段代碼我得到一個錯誤雙循環(這是類似的錯誤在MAX(我)...) 內環完美的作品。因此,通過省去外部循環並手動輸入公司ID,直到出現該錯誤,我發現哪家公司出現了問題。我的data.frame中有一個矢量字母,每天都會爲特定公司返回。
下一次:有沒有一種方法在R找出哪裏(或這裏爲哪些公司)錯誤出現?它可以節省很多時間!
一個簡單的方法是在每次循環運行中打印'i'&'j'',這樣您就知道它何時失敗... –
第二個for循環中出現語法錯誤!你會得到這個錯誤:'錯誤:意外'{'in:'。我相信這種情況並不重要,但RStudio已經包含了一些調試工具。 – marbel
輸入'traceback()'。另見'?debug','?trace','?browser','?recover' – GSee