재현가능한 과학적 분석을 위한 R
도움말 찾기
학습 목표
- 함수와 특수 연산자에 대한 R 도움말 파일을 불러 읽어온다.
- CRAN 작업화면(task view)을 사용해서 문제를 해결하는 팩키지를 식별해 낸다.
- 동료로부터 도움을 구한다.
도움말 파일 불러 읽어오기
R과 모든 팩키지는 함수에 대한 도움말 파일을 제공한다. 네임스페이스(인터랙티브 R 세션)에 적재된 팩키지에 있는 특정 함수에 대한 도움말은 다음과 같이 찾는다:
?function_name
help(function_name)
RStudio에 도움말 페이지에 도움말이 표시된다. (혹은 R 자체로 일반 텍스트로 표시된다)
각 도움말 페이지는 절(section)로 구분된다:
- 기술(Description): 함수가 어떤 작업을 수행하는가에 대한 충분한 기술
- 사용법(Usage): 함수 인자와 기본디폴트 설정값
- 인자(Arguments): 각 인자가 예상하는 데이터 설명
- 상세 설명(Details): 알아야 만 되는 중요한 구체적인 설명
- 값(Value): 함수가 반환하는 데이터
- 함께 보기(See Also): 유용할 수 있는 연관된 함수.
- 예제(Examples): 함수 사용법에 대한 예제들.
함수마다 상이한 절을 갖추고 있다. 하지만, 상기 항목이 알고 있어야 하는 핵심 내용이다.
특수 연산자
특수 연산자에 대한 도움말을 찾으려면, 인용부호를 사용한다:
?"+"
팩키지에 대한 도움말 얻기
많은 팩키지에 “소품문(vignettes)”이 따라온다: 활용법과 풍부한 예제를 담은 문서. 어떤 인자도 없이, vignette()
명령어를 입력하면 설치된 모든 팩키지에 대한 모든 소품문 목록이 출력된다; vignette(package="package-name")
명령어는 package-name
팩키지명에 대한 이용가능한 모든 소품문 목록을 출력하고, vignette("vignette-name")
명령어는 특정된 소품문을 연다.
팩키지에 어떤 소품문도 포함되지 않는다면, 일반적으로 help("package-name")
명령어를 타이핑해서 도움말을 얻는다.
함수가 정확하게 기억나지 않을 때
함수가 어느 팩키지에 있는지 확신을 못하거나, 구체적인 철자법을 모르는 경우, 퍼지 검색을 실행한다:
??function_name
어디서 시작해야 될지 아무 생각이 없을 때
어떤 함수 혹은 팩키지가 필요한지 모르는 경우, CRAN Task Views 사이트가 좋은 시작점이 된다. 유지관리되는 팩키지 목록이 필드로 묶여 잘 정리되어 있다.
코드가 동작하지 않을 때: 동료로부터 도움을 구한다
함수 사용에 어려움이 있는 경우, 10 에 9 경우에 찾는 정답이 이미 Stack Overflow에 답글이 달려 있다. 검색할 때 [r]
태그를 사용한다:
원하는 답을 찾지 못한 경우, 동료에게 질문을 만드는데 몇가지 유용한 함수가 있다:
?dput
dput()
함수는 작업하고 있는 데이터를 텍스트 파일 형식으로 덤프해서 저장한다. 그래서 다른 사람 R 세션으로 복사해서 붙여넣기 좋게 돕는다.
sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.2 (El Capitan)
locale:
[1] ko_KR.UTF-8/ko_KR.UTF-8/ko_KR.UTF-8/C/ko_KR.UTF-8/ko_KR.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets base
other attached packages:
[1] knitr_1.12
loaded via a namespace (and not attached):
[1] magrittr_1.5 formatR_1.2.1 tools_3.2.3 stringi_1.0-1 methods_3.2.3
[6] stringr_1.0.0 evaluate_0.8
sessionInfo()
는 R 현재 버젼 정보과 함께 적재된 팩키지 정보를 출력한다. 이 정보가 다른 사람이 여러분 문제를 재현하고 디버그하는데 유용할 수 있다.
도전과제 1
c
연결함수에 대한 도움말을 살펴본다. 다음 명령어를 실행하면, 어떤 종류 벡터가 생성될 것으로 예상되는가:
c(1, 2, 3)
c('d', 'e', 'f')
c(1, 2, 'f')`
도전과제 2
paste
함수에 대한 도움말을 살펴본다. 나중에 이 함수를 사용할 것이다. sep
와 collapse
인자 사이에 차이는 무엇인가?
다른 유용한 도움말 기항지
도전과제 해답
도전과제 1 에 대한 해답
c
함수는 벡터를 생성한다. 이 경우 모든 요소는 동일한 자료형이 된다. - c(1, 2, 3) : 숫자형
- c(‘d’, ‘e’, ‘f’) : 문자형
- c(1, 2, ‘f’) : 문자형 - 숫자값이 문자로 “강제 전환”되었다.
도전과제 2 에 대한 해답
paste
함수에 대한 도움말을 살펴본다. 나중에 이 함수를 사용할 것이다.
help("paste")
?paste