데이터 분석 및 전처리 작업을 시행하다보면 분석 결과를 외부로 반출할 때가 있습니다. 이러한 분석 결과는 마크다운, 대쉬보드 혹은 전처리한 데이터 그자체로 반출합니다. R에서는 데이터를 외부로 저장할 때는 주로 write.*()
함수를 사용합니다.
21.1. 테이블 데이터셋 저장, write.table()
(1) write.table()
함수의 구조와 파라미터
데이터 프레임을 저장하려면 write.table()
함수를 사용하는데, sep
파라미터를 이용해 확장자 형식을 정의할 수 있습니다. write.table()
함수의 구조와 주요 파라미터 형태는 다음과 같습니다.
write.table(x, file, append, quote, sep, eol, na, row.names, col.names, fileEncoding, ⋅⋅⋅ ) |
파라미터 | 설명 |
x | 데이터프레임 혹은 행렬 형식 |
file | 저장하려는 경로 |
append | TRUE 면 행 단위 이어쓰기, FALSE 면 덮어쓰기 |
quote | TRUE 면 모든 값과 열 이름에 "" 로 수식, FALSE 면 큰따옴표 생략 |
sep | 구분자 지정 |
na | 결측값의 표기명 설정, 기본값으로 "NA" 가 지정됨 |
row.names | TRUE 면 행 인덱스와 함께 저장, FALSE 면 저장하지 않음 |
col.names | TRUE 면 열 이름 함께 저장, FALSE 면 저장하지 않음 |
fileEncoding | 인코딩 방법 설정 |
(2) 예시
이전 포스트인 <20. 외부 데이터 불러오기>에서 사용했던 asset_status
객체를 txt 형태로 저장하고자 할 때, 코드는 다음과 같습니다.
write.table(x=asset_status,
file="asset_status.tsv",
sep="\t",
row.names=FALSE) #행 인덱스 저장 방지


21.2. 데이터셋을 csv 형식으로 저장, write.csv()
(1) write.csv()
함수의 구조와 파라미터
write.csv()
함수는 데이을 csv 형식으로 저장하는 함수입니다. write.csv()
함수의 파라미터는 write.table()
함수와 대부분 동일한 구조를 가지고 있으나 디폴트 값이 다르니, 이에 유의해야합니다.
write.csv(x, file, append, quote, sep, eol, na, row.names, col.names, fileEncoding, ⋅⋅⋅ ) |
(2) 예시
이전 포스트인 <20. 외부 데이터 불러오기>에서 사용했던 student_dataset
객체를 csv 형식으로 저장하고자 할 때, 코드는 다음과 같습니다.
write.csv(x=student_df_01,
file="student_dataset.csv",
row.names=FALSE,
quote=FALSE)


21.3. 데이터셋을 xlsx 형식으로 저장, write_xlsx()
(1) writexl
패키지 설치 및 활성화
xlsx 형식으로 데이터 프레임을 저장하기 위해선 writexl
패키지를 사용합니다. 해당 패키지를 설치하고 활성화하는 방법은 다음과 같습니다.
install.packages("writexl")
library(writexl)
(2) write_xlsx
함수의 구조와 파라미터
write_xlsx
함수의 구조는 다음과 같습니다. 이전 read_xlsx
함수와 구조가 비슷합니다.
write_xlsx(x, path, col_names=TRUE, format_header=TRUE, use_zip64=FALSE, ∙∙∙ ) |
파라미터 | 설명 |
x | 데이터 집합, 일반적으로 데이터 프레임 형식으로 저장 |
path | 저장할 파일 경로 지정 |
col_names | 열 이름을 사용할지 결정 |
format_header | 열 이름을 볼드처리 및 중앙에 위치할지를 결정 |
(3) 예시
위의 student_dataset 데이터셋을 예로 들어 .xlsx 형식으로 저장하고자 할 때, 코드는 다음과 같습니다.
write_xlsx(x=student_df_01,
path="student_dataset.xlsx",
col_names=TRUE,
format_headers=FALSE)


PLUS) 문자 제어문(Escape String)
문자 제어문이란 텍스트에 띄어쓰기, 탭 등을 추가하고자 할 때 사용하는 문법으로, R에서는 cat()
함수나 텍스트 데이터를 전처리할 때 사용합니다. 문자 제어문의 종류는 다음과 같습니다.
형태 | 설명 | |
\b | backspace | 앞의 문자를 생략하고 입력 |
\t | tap | 탭 한 번 입력하기 |
\n | new line | 한 칸 띄우기 |
\r | carriage returen | 동일한 줄의 첫 위치로 이행 |
예를 들어, "DataAnalyticsWithR"이라는 문자열을 예시로 해당 문자 제어문을 사용해보겠습니다.
cat("DataAnalyticsWithR")
cat("Data\bAnalytics\bWith\bR") #\b 사용
cat("Data\tAnalytics\tWith\tR") #\t 사용
cat("Data\nAnalytics\nWith\nR") #\n 사용
출력한 결과는 다음과 같습니다. \b를 사용한 경우 앞의 문자열 "a","s","r"이 삭제되었고, \t을 사용한 경우 앞의 문자열에서 탭됐음을 알 수 있고, \n의 경우는 띄어쓰기가 사용되었음을 확인할 수 있습니다.

'Ⅰ. R 기초' 카테고리의 다른 글
23. 사용자정의함수 파악하기 (0) | 2021.05.21 |
---|---|
22. 제어문 파악하기 (0) | 2021.05.20 |
20. 외부 데이터 불러오기 (수정중) (0) | 2021.05.17 |
19. 선형대수 연산 시행하기 (수정중) (0) | 2021.05.14 |