쭈쌤
쭈쌤 Hello World

[R] 패키지의 이해와 파일 입출력

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[R] 패키지의 이해와 파일 입출력≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

[R] 패키지의 이해와 파일 입출력

패키지란 R이 제공하지 않는 기능을 구현해 놓은 일종의 확장팩을 말합니다. 온라인에 등록되어 있는 패키지를 다운로드 받아 설치하고 그 패키지에 포함된 기능들을 로드해서 사용할 수 있으며 대부분의 데이터 분석, 시각화 관련 기능은 패키지를 통해 제공됩니다.

#01. 패키지 설치 방법

1) R 공인 패키지

  • CRAN (the Comprehensive R Archive Network)에 등록되어 있는 R 공식 패키지.
  • 등록승인 절차가 엄격하기로 유명하다.
  • https://cran.r-project.org/mirrors.html에서 서버 주소 확인 가능

한국서버 주소들

패키지 설치 방법

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")
▶ 출력결과
1
2
3
4
5
6
7
8
9
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
[1] "안녕하세요. 반갑습니다.\r\n"

bar.txt 파일의 내용을 mystring 이라는 변수에 저장하고 그 결과를 출력한다. 줄바꿈이 되어 있는 경우 \r\n으로 표기된다.

1
2
mystring <- read_file("bar.txt")
print(mystring)
▶ 출력결과
1
[1] "Hello Bigdata\r\n헬로 Bigdata\r\nHello 빅데이터\r\n"
Rating:

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[R] 패키지의 이해와 파일 입출력≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

comments powered by Disqus