R (또는 Python)과 같은 언어를 통해 데이터를 분석할 것을 고려한다면 엑셀 데이터가 어떤 식으로 정리되어야 하는지 생각해 보자. 엑셀에서는 많은 사용자가 그러하듯이 사용자가 유연하게 데이터를 입력하고, 계산을 하고, 그래프나 표를 만들어 쓸 수 있다. 만약에 하나의 엑셀 시트에서 이런 것들이 뒤섞여 있으면 R과 같은 도구로 데이터를 불러올 때 원 데이터를 읽어올 위치 등을 상세하게 지정해 주어야 한다. 따라서 R 언어를 사용하여 분석할 데이터는 다음 그림과 같이 내용을 구성할 것을 권한다.
첫 행은 열 이를으로 사용한다.
제목을 쓰고, (보기 편하게) 빈 행을 만들거나 하지 않는다.
열 이름을 (한글 이름 대신) 알파벳으로 빈칸 없이 만든다. 나중에 이것을 변수의 이름으로 사용해야 하기 때문에 다시 다른 이름으로 바꾸거나 하는 등의 작업이 필요할 수 있다.
두 번째 행부터 바로 데이터가 채워진다.
메타 정보는 별도의 시트나 파일로 따로 정리하여 사용하는 것이 좋다.
그림 4.1: R 등으로 분석하고자 데이터를 엑셀로 저장하는 경우 데이터는 데이터, 메타데이터는 메타데이터로 정리하는 것이 좋다.
이 파일이 excel-data 폴더에 mtcars.xlsx으로 있고 이제 이것을 읽어보자.
4.2 RStudio에서 엑셀 파일 읽기
R에는 인터넷만 연결되어 있으면 데이터에 어디에 있던 어떤 포맷으로 되어 있던 데이터를 읽는 도구들이 개발되어 있다.
여기선 가장 기초적인 현재 컴퓨터에 있는 엑셀 파일을 읽어보자. RStudio에는 이런 작업을 쉽게 할 수 있는 기능이 내장되어 있다.
RStudio를 실행하고 따라해 보자.
그림 4.2: RStudio의 “Environment” 창에서 “Import Dataset” 오른쪽 화살표를 클릭한다. 여기서 “From Excel…”를 선택한다.
이 기능은 readxl이라는 패키지를 이용하는데, 만약 현재 컴퓨터에 이 패키지가 설치되어 있지 않다면 이 패키지를 다운로드하라는 안내를 보게 될 것이다. 다운로드하여 설치한다.
“From Excel…”을 클릭하면 그림 4.3 창이 열린다. 여기서 Browse… 버턴을 클릭하여 읽을 파일을 찾아서 선택한다.
여기서 데이터를 잘 읽었는지 확인한다. 오른쪽 아래에 이 과정을 코드로 만들어 주고 있다. 이것을 클릭보드에 복사하여 스크립트 등에 사용하면 편리한다.
여기서 오른쪽 아래 Import 버튼을 클릭하면 이 데이터를 mtcars라는 데이터프레임으로 읽어 온다. 이 방법은 엑셀 파일 이름과 같은 이름으로 데이터프레임으로 읽어 온다(정확히는 tibble이라는 데이터 구조로 읽는데, 전통적인 데이터프레임을 강화한 형태의 데이터프레임이다). 이제 R 세션에 mtcars라는 데이터프레임이 만들어졌다.
4.3 데이터프레임
R 데이터프레임(data.frame)은 엑셀 시트와 비슷한 2차원으로 된 데이터 구조이다. 다음과 같이 데이터를 읽었을 때 tibble 데이터프레임으로 저장하는 데 설명을 위해서, 원래의 데이터프레임으로 만든다(그 이름은 df로 줬다).
library(readxl)mtcars <-read_excel("excel-data/mtcars.xlsx")df <-as.data.frame(mtcars) # 원래의 데이터프레임으로 변환head(df)