구문 오류를 계산하고 프로그램 실행 후 구문 오류 수를보고하는 코드를 사용합니다. 오류 계산 코드는 이전 질문에 대한 응답으로 stackoverflow에 제공되었습니다. R: is there a command for the end of a file that states whether any errors occurred?프로그램 실행 후 오류 찾기
대용량 데이터 세트를 분석 할 때 인쇄 메시지를 주석으로 처리하는 것을 잊어 버리고 R이 모든 데이터와 모든 코드를 인쇄 할 수없는 경우가 있습니다.
[ reached getOption("max.print") -- omitted 498 rows ]
그럴 때 오류 계산 코드가 오류를보고하면 단순히 오류를 확인하기 위해 다시 스크롤 할 수 없습니다. R 코드가 실행 된 후 오류를 찾는 방법이 있습니까? traceback()
을 사용해 보았지만 도움이되지 않았습니다. 나는 traceback()
을 사용한 적이 없으며 올바르게 사용하지 않았을 수도 있습니다. 온라인에서 찾은 다른 잠재적 인 솔루션은 R 파일을 실행하기 전에 코드를 삽입해야하는 것 같습니다.
인쇄 명령을 주석 처리하여 R 코드를 다시 실행할 수는 있지만이 경우 코드를 실행하는 데 몇 시간이 걸릴 수 있습니다. 어쩌면 오류를 찾기 위해 작은 데이터 세트를 사용하여 코드를 재실행 할 수는 있지만 데이터 세트의 크기가 오류를 발생시키지 않는다고 가정합니다.
다음은 오류가있는 예제 프로그램입니다. n
이 많은 수 (어쩌면 10000000)로 변경되면이 코드는 위에서 설명한 것과 같은 시나리오 또는 시나리오를 만드는 것처럼 보입니다. 조언 해 주셔서 감사합니다.
일반적으로 파일을 * .r 파일에 저장 한 다음 해당 파일의 내용을 복사하여 내 Dell PC 64 비트 Windows 7 Professional 데스크톱에 설치 한 기본 R GUI에 붙여 넣어 코드를 실행합니다. R 응용 프로그램.
# the four lines below are for counting syntax errors
.error.count <- 0
old.error.fun <- getOption("error")
new.error.fun <- quote(.error.count <- .error.count + 1)
options(error = new.error.fun, width=2400)
##########################################################
n <- 10
a <- rnorm(n,10,4)
b <- rnorm(n,50,8)
c <- EXP(b)
d <- a + b
df <- data.frame(a,b,d)
df
##########################################################
# the three lines below count the number of errors in the code above
cat("ERROR COUNT:", .error.count, "\n")
options(error = old.error.fun)
rm(.error.count, old.error.fun, new.error.fun)
##########################################################
traceback()
# No traceback available
답장을 보내 주셔서 감사합니다. 나는 어느 쪽의 지위에 체크 표시를 줄 수 있었지만 그의 대답이 나를 위해 조금 더 명백했기 때문에 Andrie에게 그것을 줬다. 로그에 소스 행 번호를 포함하는 기능을 좋아하지만이를 수행하는 방법을 파악할 수 없었습니다. –
'options (show.error.locations = TRUE)'가 R 2.15까지 추가되지 않았다고 생각합니다. 사용중인 R 버전이 최신 버전인지 확인하십시오. 그렇지 않으면이 옵션을 설정하면 R은 오류 메시지에 줄 번호를 포함시킵니다. –