Làm cách nào để tìm ra lỗi Xảy ra ở đâu?Tìm hiểu WHERE xảy ra lỗi trong R khi gỡ lỗi
tôi đã có một vòng lặp đôi như thế này
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
}
Trong mã này, tôi đã nhận ra lỗi (nó là một cái gì đó như lỗi trong max (i) ...) Các vòng lặp bên trong hoạt động hoàn hảo. Vì vậy, bằng cách rời khỏi vòng lặp bên ngoài và nhập thủ công ID của công ty cho đến khi lỗi đó xuất hiện, tôi phát hiện ra công ty nào đã xảy ra sự cố. Data.frame của tôi có các chữ cái trong một véc tơ có lợi nhuận hàng ngày cho công ty cụ thể đó.
Lần sau: Có cách nào trong R để tìm ra WHERE (hoặc ở đây CHO MỌI CÔNG TY) lỗi xuất hiện không? Nó có thể tiết kiệm rất nhiều thời gian!
một cách dễ dàng là in 'i' &' j' trong mỗi lần chạy vòng lặp, vì vậy bạn biết khi nào nó không thành công ... –
Bạn có lỗi cú pháp trong vòng lặp thứ hai cho vòng lặp! Bạn nhận được lỗi này: 'Lỗi: không mong muốn '{' trong:'. Tôi tin rằng trường hợp này không quan trọng, nhưng RStudio có một vài công cụ gỡ lỗi đã được đưa vào. – marbel
Nhập 'traceback()'. Xem thêm '? Debug','? Trace', '? Browser','? Recovery' – GSee