본문 바로가기
프로그래밍 언어/R

R 초보자 꿀팁

by Jinger 2024. 2. 2.

서론

    코드를 실행할 때 종종 에러가 발생한다. 모든 에러에 대해 다룰 수는 없지만 종종 나오는 에러와 에러 메시지에 대해 가볍게 알아보자.


초보자가 자주 하는 실수

    에러 시 가장 먼저 패키지를 로드했는지, 데이터를 불러왔는지, 변수명을 정확하게 입력했는지 확인하자. 이곳에 문제가 없다면 다음과 같은 실수를 했는지 점검하자.

  • 콘솔 창에 이상한 문자가 입력되어 있는 경우: 콘솔 창이 입력 대기 상태로 '>' 기호가 표시되어 있는지 확인하자. 이상한 문자가 입력되어 있다면 'esc'를 눌러 입력 대기 상태로 되돌아온 후 다시 소스창에 코드를 실행하자.
  • 완결되지 않은 코드를 실행한 경우: 콘솔창이 코드가 더 입력되길 기다리는 상태가 되고 '+'기호가 표시된다. 코드 마지막에 '+', '%>%', '%in%' 기호로 끝났거나 괄호가 제대로 닫혀있는지 확인하자.  이상한 문자가 입력되어 있다면 'esc'를 눌러 입력 대기 상태로 되돌아온 후 다시 소스창에 코드를 실행하자.
  • 변수를 만들지 않았는 데 변수를 활용하는 코드를 실행한 경우: 변수가 옳바르게 생성되었고, 내가 원한 형태인지 점검하자.
  • 대소문자 구분: 대소문자를 구분하기에 검토하자.
  • 등호 개수: 등호 1개는 대입을, 등호 2개는 비교를 통해 같은 지 확인하는 기능을 가진다.
  • 따옴표: 여는 따옴표와 닫는 따옴표를 모두 넣었는 지, 따옴표가 있어야 하는 곳에 따옴표가 없는지, 없어야 하는 곳에 있는지 확인하자.
  • 파일 확장자명: 저장하거나 불러올 때 확장자명을 정확히 입력하자.
  • 파일 경로 지정 기호: 파일 경로 지정할 때 슬래시 기호(/)를 사용한다. 역슬래시(\)가 아니다.
  • 잘못된 줄 바꾸기: 가독성을 위해 줄 바꿔 입력하는 경우가 많다. 이때 연장 기호('%>%', '+') 앞에서 'enter'를 하게 되면 에러가 생긴다. 반드시 연장 기호 뒤에서 'enter'를 하자.
  • 비슷하게 생긴 문자들: 비슷하게 생긴 문자를 주의하자. ex) 0,o,O,ㅇ / 1, l, i, I, |
  • 패키지 업데이트로 문법이 바뀐 경우: 바뀐 문법에 맞게 코드를 수정하거나 구버전 패키지를 설치해야 한다.
  • 패키지 설치했는 데도 함수가 작동하지 않는다면: 패키지를 재설치하거나 의존성 패키지인 경우 'install.packages()'에 'dependencies = T'를 추가하면 의존성 패키지를 함께 설치한다.

에러메시지 이해하기

    에러메시지에는 'Error'와 'Warning message'가 있다. 'Error'는 코드에 오류가 있어서 실행되지 않았다는 것을 의미하는 에러 메시지이다. 이때는 코드가 정상적으로 실행되지 않은 것이므로 오류를 찾아 수정해야 한다. 'Warning message'는 코드가 정상적으로 실행됐지만 어떤 부분을 조심하라는 경고 메시지이다. 출력 결과에 이상이 없다면 무시하고 넘어가면 된다.

  • 에러 메시지는 구글링 하기: 예를 들어, Error: could not find function "abc"라는 에러 메시지 발생했다면 "R Error: could not find function"으로 검색하면 비슷한 문제를 겪는 질문과 해결 방법이 나와 있다.
  • csv파일, txt파일을 불러왔는 데 문자가 깨져 있을 때: 파일의 인코딩을 바꾸자.
    • 파일을 연 후 다른 이름으로 저장하기에서 인코딩을 수정할 수 있다.
  • R 스튜디오에서 한/영 키 전환이 안될 때: R스튜디오를 최소화했다가 다시 열면 잘 작동된다. 'alt + tab'을 눌러 다른 창을 띄웠다가 다시 R스튜디오로 돌아와도 된다.
  • 코드의 폰트가 이상해졌을 때: "alt + +"를 눌러 다시 원래대로 돌아온다.

자주 발생하는 에러

  • Error: object 'abc' not found - 변수를 사용할 수 없다는 에러이다. 변수를 다시 한번 확인해 보자.
  • Error: could not find function "abc" - 함수를 사용할 수 없다는 에러이다. 함수를 다시 한번 확인하거나 패키지를 로드했는지 확인하자.
  • Error: unexpected ')' in... - 불필요한 ')'기호가 입력됐다는 에러 메시지이다.
  • Error: unexpected symbol in... - 잘못된 기호를 입력했거나 문법에 맞지 않는 코드를 입력한 경우에 발생한다.
  • Error: in file(file, "rt"): cannot open the connection - 파일을 열 수 없다는 에러 메시지이다. 파일명에 오타, 파일 경로, 프로젝트 폴더에 제대로 파일이 삽입되어 있는지 확인하자.

추천 사이트

R 학습

Coursera - R Programming: MOOC 온라인 강의 서비스로 동영상 강의를 보고 과제를 해결하며 R 문법을 익힐 수 있다.(무료, 이수증 부여)

Quick-R: R 기초 문법과 자주 사용되는 핵심 기능들이 잘 요약된 사이트

데이터

kaggle

공공데이터포털

서울 열린 데이터 광장

한국복지패널

데이터 저널

데이터 저널

커뮤니티

KRSG(Korean R Study Group)

KRUG(Korean R User Group)

싸이그래머(Psygrammer)

통계마당

데이터 분석 커뮤니티

패키지

tidyverse

rstudio

사례

R-bloggers

R 사용자 컨퍼런스


주섬주섬

  • 내 블로그는 항상 윈도우 기준이다.
  • R을 주 언어로 하고 싶다면 다음 직업에 대해 생각해 보자.
    • 데이터 분석: 데이터를 이용해 현상 해석, 변수 간 관계 검증, 미래 예측하는 예측 모형 만드는 등 데이터 분석에 초점을 둔 분야
    • 데이터 엔지니어링: 운영 중인 서비스나 장비에서 다량의 데이터가 지속적으로 발생한다면 데이터를 효율적으로 저장하고 추출할 수 있도록 데이터베이스를 구축하고 관리하는 일
    • 데이터 시각화: 데이터를 쉽게 이해할 수 있도록 이미지로 표현하는 분야
    • 웹 애널리틱스: 인터넷 사용자들의 웹 서비스 이용 행태를 중점적으로 분석하는 분
반응형

'프로그래밍 언어 > R' 카테고리의 다른 글

R 13. 기타  (0) 2024.02.02
R 12. 통계적 가설 검정  (0) 2024.02.02
R 11. 인터랙티브 그래프  (0) 2024.02.02
R 10. 지도 시각화  (0) 2024.02.02
R 9. 텍스트 마이닝  (0) 2024.02.02

댓글