2 세미나 발표 ppt

Download Report

Transcript 2 세미나 발표 ppt

투빅스 3기 여봉룡
Building “Package”
1st seminar
Contents
01
Package란?
02
Package의 구성 원리
03
Package
04
Package 만들기
만들 때 주의할 점
Package란?
[Presentation]
01
Packages
외부에 배포할 패키지를 개발할 때 알아두는 게 좋다.
Packages
5단계 package 생애주기
1. 소스코드(source) 패키지
2. 번들(bundled)패키지 (확장자 : .tar.gz)
3. 바이너리(binary) 패키지
(R/, Meta/, html/, src/, inst/)
4. 설치(installed) 패키지
5. 인메모리(in memory) 패키지
외부에 배포할 패키지를 개발할 때 알아두는 게 좋다.
Packages
R CMD install 로 가장 확실하게 패키지를 설치할 수 있다.
Packages
Library :
설치 팩키지를 담고 있는 디렉토리
.libPath()
=> 각자가 설치한 패키지에 대한 것
lapply(.libPaths(), dir)
=> R에서 추천하는 패키지들
library(package)나 require(package)를 사용해서 로딩한다.
차이점 : 실제 package가 존재하지 않을 경우 library는 오류를, require는 경고메시지와 FALSE출력
Package의 구성
[Presentation]
02
구성
모든 작성한 R코드는 이 파
일에 들어간다.
(만들시에 저장할 떄 파일명
을 “title.R”로 저장해야 한다.)
객체문서화를 위한 파일
즉 사용자로 하여금 이 패키지
를 어떻게 사용하는지에 대한
설명이다.
이 안에는 .Rd파일 형식
구성
작성한 패키지가 무슨 작업
을 하는지에 대한 설명
다른 패키지와 작동하기 위해서,
다른 패키지에 대해 어떤 함수
가 열려있는지, 그리고 다른 패
키지에서 받아와야 하는 것은
무엇인지에 대한 설명
구성
- 소품문 (vignettes/)
#package에 대한 장문안내서
- 테스팅 (tests/)
#작성한 코드가 의도대로 잘 작동되는지 여부를 확인
- 외부데이터 (data/)
#예시) devtools::use_data(x, mtcars, internal = TRUE)
- 컴파일된 코드 (src/)
- 설치된 파일 (inst/)
Package 만들 때 주의할 점
[Presentation]
03
Caution
1
R코드에서 변수명칭과 함수명칭은 모두 소문자여야 한다.
2
작업 디렉토리를 변경하지 않는다.
3
모든 함수를 파일 하나에 담거나, 각각의 함수를 별도 파일에
담는 것은 좋지 않다.
4
파일 명칭은 .R로 끝나야 한다.
5
모든 error와 warning을 고쳐야 한다.
6
각 패키지마다 R CMD check 명령어를 실행한다.
이 외에도 매우 많음! 참고문헌 참조해 주세요!!
Package 만들기
[Presentation]
04
방
법
1
#(R에 명령어 입력 1)
install.packages(c("devtools", "roxygen2", "testthat", "knitr"))
#roxygen2 : 객체 문서화와 namespace를 만들 때,
개발자를 대신해서 생성하는 방법에서 사용
#testthat : test해서 오류를 잡아낼 때
#knitr : LaTeX, HTML, Markdown을 r코드와 연동시킬 때 쓰는 패키지
devtools::install_github("hadley/devtools")
library(devtools)
devtools::create("path/to/package/pkgname")
#(R에 명령어 입력 2)
setwd("C:\\rpackages")
package.skeleton(name="fun")
system("RCMD INSTALL --latex fun")
system("RCMD INSTALL --build fun")
system("RCMD check fun)
library(mypackage)
방
법
2
방
법
3
#(R에 명령어 입력 + cmd로 구축)
setwd("C:\\rpackages")
package.skeleton(name="fun")
구축 ---- R CMD build package
체크 ---- R CMD check package_1.0.tar.gz
설치 ---- R CMD INSTALL package_1.0.tar.gz
zip파일 만들기 ---- R CMD build binary package
사실 세 가지 방법
다 같아요!!
그 중에서…. 방법 2로!
방
법
2
방
법
2
방
법
2
방
법
2
참고 문헌
https://www.youtube.com/watch?v=9PyQlbAEujY #동영상으로 직접 보여줘요!
http://www.mathfinance.추/how-to-create-an-R-package-in-windows/
http://hwan0447.blog.me/100206912155
http://journal.r-project.org/archive/2011-1/RJournal_2011-1_Wickham.pdf
http://r-pkgs.had.co.nz/ #r package 책 (제대로 CRAN에 올릴 패키지를 만드시려면 꼭 보세요)
그리고
기
타
등
등 (생략)
감사합니다
투빅스
세미나
나는 곧
끝이다
자 이제 (아마) 5분(도 채 안) 남았어요ㅎㅎ…..
간단하게 만들어 보아요ㅎㅎㅎㅎ