Bạn có thể sử dụng trình gỡ lỗi tích hợp của R; nó phải được kích hoạt trên một hàm, vì vậy cần có một trình bao bọc nhỏ:
sourceDebugging<-function(f){
#Function to inject the code to
theCode<-function(){}
#Injection
parse(text=c('{',readLines(f),'}'))->body(theCode)
#Triggering debug
debug(theCode)
#Lift-off
theCode()
}
sourceDebugging(<file with code>)
Điều này khá thuận tiện cho việc gỡ lỗi (tuy nhiên, cho bạn cơ hội kiểm tra trạng thái sau mỗi dòng), tuy nhiên, sẽ chỉ đánh giá trong một môi trường mới theCodethay vì sourcemặc định .GlobalEnv... điều này có nghĩa là các biến được tạo bên trong sẽ biến mất trừ khi toàn cầu hóa rõ ràng.
Tùy chọn hai chỉ là giả lập văn bản từ bàn phím và nhấn ENTER ... nhưng như caracal đã chỉ ra điều này có thể đạt được chỉ bằng cách source(<file with code>,echo=TRUE).
source("arrFile.R", echo=TRUE)chưa