R Package
ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪R Package≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.
패키지란 R이 제공하지 않는 기능을 구현해 놓은 일종의 확장팩을 말합니다. 온라인에 등록되어 있는 패키지를 다운로드 받아 설치하고 그 패키지에 포함된 기능들을 로드해서 사용할 수 있으며 대부분의 데이터 분석, 시각화 관련 기능은 패키지를 통해 제공됩니다.
#01. 패키지 설치 방법
1) R 공인 패키지
- CRAN (the Comprehensive R Archive Network)에 등록되어 있는 R 공식 패키지.
- 등록승인 절차가 엄격하기로 유명하다.
https://cran.r-project.org/mirrors.html
에서 서버 주소 확인 가능
한국서버 주소들
- https://ftp.harukasan.org/CRAN/
- https://cran.yu.ac.kr/
- https://cran.seoul.go.kr/
- http://healthstat.snu.ac.kr/CRAN/
- https://cran.biodisk.org/
- http://cran.biodisk.org/
패키지 설치 방법
r소스코드에서 아래의 구문을 실행한다.
repos값은 생략 가능하지만 생략할 경우 미국 서버에서 다운받으므로 속도가 매우 느리다.
1
2
3
if (!require(패키지이름)) {
install.packages("패키지이름", [repos=서버주소])
}
2) 비공인된 패키지
- CRAN에 등록되지 않은 비공식 패키지.
- 검증되지 않은 기능들이지만 유명한 기능들은 검증되었다고 봐도 무관하다.
패키지 설치 방법
r소스코드에서 아래의 구문을 실행한다.
1
devtools::install_github("패키지이름")
단, 비공인 패키지를 설치하기 위해서는 devtools
라는 이름의 공인 패키지가 설치되어 있어야 한다.
3) 설치된 패키지 사용하기
1
library("패키지이름")
#02. 간단한 패키지 사용하기 (파일입출력)
R에서의 텍스트 파일 저장기능은 자체적인 내장함수로 제공하지만 텍스트 파일의 내용을 가공 없이 읽어들이는 기능은 다소 번거롭기 때문에 외부 패키지를 통해 구현하는 것이 더 간편하다.
1) 텍스트 파일에 내용 저장하기 (내장함수 사용)
현재 작업 폴더에 foo.txt파일을 생성하고 내용을 기록하기
1
2
3
4
5
6
7
8
# 저장할 파일 지정 - 기존에 내용이 있을 경우 삭제 후 새로 저장함
f <- file("foo.txt", encoding="UTF-8")
# 한 줄 저장하기
writeLines("안녕하세요. 반갑습니다.", f)
# 지정된 파일 닫기
close(f)
여러 줄 기록하기
1
2
3
4
5
6
7
8
9
# 저장할 파일 지정 - 기존에 내용이 있을 경우 삭제 후 새로 저장함
f <- file("bar.txt", encoding="UTF-8")
# 여러 줄을 한번에 저장할 경우 저장할 내용을 벡터로 설정
source <- c("Hello Bigdata", "헬로 Bigdata", "Hello 빅데이터")
writeLines(source, f)
# 지정된 파일 닫기
close(f)
2) 파일읽기 - readr 패키지 사용하기
readr 패키지는 데이터사이언스를 위해 구성된 Tidyverse 라는 패키지 중 하나.
readr 패키지는 csv 나 tsv, fwf 같은 격자형의 데이터를 쉽고 편하게 읽기 위해 만들어졌다.
패키지 설치 및 사용 설정
jupyter를 통한 최초 설치시 설치 과정이 출력된다.
1
2
3
REPO_URL = "https://cran.seoul.go.kr/"
if (!require("tidyverse")) install.packages("tidyverse", repo=REPO_URL)
library("readr")
출력결과 Loading required package: tidyverse – Attaching packages ————————————— tidyverse 1.2.1 – √ ggplot2 3.2.1 √ purrr 0.3.2 √ tibble 2.1.1 √ dplyr 0.8.1 √ tidyr 0.8.3 √ stringr 1.4.0 √ readr 1.3.1 √ forcats 0.4.0 – Conflicts —————————————— tidyverse_conflicts() – x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag()
파일의 내용 읽기
foo.txt 파일의 내용을 mystring 이라는 변수에 저장하고 그 결과를 출력한다.
1
2
mystring <- read_file("foo.txt")
print(mystring)
출력결과 [1] “안녕하세요. 반갑습니다.\r\n”
bar.txt 파일의 내용을 mystring 이라는 변수에 저장하고 그 결과를 출력한다. 줄바꿈이 되어 있는 경우 \r\n
으로 표기된다.
1
2
mystring <- read_file("bar.txt")
print(mystring)
출력결과 [1] “Hello Bigdata\r\n헬로 Bigdata\r\nHello 빅데이터\r\n”
ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪R Package≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.