본문 바로가기
자료처리

R 패키지 함수 수정 내용이 세션종료 후 저장되지 않는 문제 해결

by Prof. Sung-Deuk Choi 2023. 10. 30.

예전 글에서 설명한 것과 같이 trace 함수를 사용하여 R  패키지 내부 함수를 수정할 수 있습니다. 그러나 해당 세션에서 임시로 수정한 것이고 패키지 함수 자체를 수정한 것이 아닙니다.

 

R 패키지 함수 편집하기

패키지 함수의 구체적인 소스 코드를 수정하는 방법입니다. 함수 코드 확인 방법 패키지명:::함수명 입력하고 엔터 openair:::trajPlot 함수 코드 편집하기 패키지 불러오고, 아래와 같이 편집 함수명

eacl.tistory.com

 

이 방법을 이용해서 openair 패키지의 trajLevel 함수를 수정해서 CWT를 제대로 사용할 수 있습니다. 

 

 

openair CWT 가중치 함수 수정

R 패키지인 openair를 사용하면 대기오염 관련 그림을 아주 빨리 그릴 수 있습니다. 장거리 이동을 평가할 수 있는 대표적인 하이브리드 수용모델인 PSCF와 CWT가 openair에 포함되어 있습니다. 그런데

eacl.tistory.com

 

그러나 세션이 종료되면 저장 내용이 반영되지 않는 문제가 있습니다. 즉, R을 시작할 때마다 해당 함수의 코드를 수정해야 야 합니다. 이를 해결하기 위해서 수정한 함수를 R 파일로 저장했다가 필요할 때 해당 함수를 불러오면 됩니다. 매번 코드를 수정하는 번거로움을 덜 수 있습니다.

 

save("trajLevel", file = "trajLevel_modified.R") # trajLevel 함수 편집 후에 새로운 R 파일로 저장
load("trajLevel_modified.R") # 세션을 새로 시작할 때(R을 새롭게 실행할 때) 변경된 함수 호출

 

댓글