본문 바로가기

깜신의 통계 이야기

엑셀파일 CSV로 변환해서 R로 불러오기

엑셀파일 CSV로 변환해서 R로 불러오기



유튜브 영상에 이어 이번에는 강의록을 만들고 있습니다.
통계를 독학 하시는 여러분께 도움이 되었으면 하는 바람입니다.

김종엽


엑셀파일에 데이터를 모두 담아놓았다면, 통계분석을 위해 모아놓은 데이터를 R로 불어오는 과정이 필요하겠죠. 이 과정이 바로 R에 도전하는 많은 연구자가 진입을 포기하는 그 유명한 단계입니다. 다들 이렇게 이야기하던군요. “R은 어찌나 어려운지, 파일 조차 열어볼 수가 없더라고요.” 맞습니다. R에서 데이터를 불러오는 과정은 지금까지 여러분이 사용하던 여러 프로그램과 사뭇 달라 익숙하지 않습니다. 익숙하지 않으면 어렵고요. 위로의 말씀을 드리자면, 절대 여러분 혼자만 여러운 건 아니라는 사실 입니다. 실제로 유튜브에 올려놓은 제 강의 동영상 중에서 가장 많은 조회수를 기록한 강의가 ‘엑셀파일, R로 불러오기’입니다. 그러니 당황하거나 움츠러들지 마시고, 이 챕터를 찬찬히 읽어보시기 바랍니다. 차근차근 따라하시면 절대 어렵지 않습니다. 제가 하면 1분도 안 걸리는 과정인데, 겨우 ’1분’ 거리가 어려우면 얼마나 어렵겠습니까.


엑셀파일 CSV로 변환해서 저장하기

엑셀파일은 R에서 바로 불러올 수 없습니다. 그래서 먼저 엑셀파일을 R에서 이해할 수 있는 파일 형태로 변환해주어야 합니다. R사용자들이 가장 많이 사용하는 파일형태는 CSV와 TXT가 있습니다. CSV는 comma seperated value의 약자로 이름처럼 콤마(,)로 구분해서 적어놓은 값들이 담긴 파일을 말합니다. 확장자가 .csv로 끝나고요. TXT파일은 그래도 익숙하시죠?! 메모장에서 열리고, 윈도우에서 간단한 메모 등을 적어놓을 때 사용하셨을테니까요. 저는 가지고 계신 엑셀파일을 R로 분석하실 때는 CSV파일로 변환하시라고 권해드립니다. 그래서 이 챕터에서는 엑셀파일을 CSV파일로 변환하는 방법만 소개해드릴 겁니다. 대신 TXT 파일을 접하실 경우도 있을거라 생각되어 TXT파일을 R로 불러오는 방법은 챕터 뒷쪽에서 알려드리겠습니다.

먼저, 엑셀파일을 CSV파일로 변환해보도록 하죠. 이번 챕터에서 예제로 사용하는 파일은 sampleData.xlsx입니다. 엑셀에서 해당파일을 열어보시면 아래 그림처럼 보일 겁니다. 먼저 좌측 상단의 ‘파일’ 메뉴를 클릭하도록 하세요.



그럼 아래와 같은 창으로 모습이 바뀔 겁니다. 이번에는 ‘다른 이름으로 저장하기’ 버튼을 클릭하세요. 




이번에는 파일을 저장하는 폴더 위치를 선택하라는 창이 열립니다. 저는 가급적 변환을 할 엑셀파일과 같은 위치에 저장합니다. 짝으로 함께 다녀야 잃어버리고 다시 만드는 실수를 줄일 수 있거든요.




아래 창이 열렸다면, 저장할 파일형식(T)을 CSV(쉼표로 분리)라는 항목으로 선택하세요. 그리고 ’저장’입니다.




같은 폴더에 sampleData.csv 파일이 만들어진 걸 확인하셨으면 메모장으로 열어보세요. 그럼 엑셀안에 담겨 있던 데이터가 콤마로 구분되어 저장된 걸 보실 수 있습니다.




CSV파일 R로 불어오기

이제 만들어놓은 sampleData.csv파일을 R로 불러오도록 하겠습니다. 이 과정은 파일의 경로에 대한 이해가 아주 중요한데요. (그래서 부록편에 ’파일 경로(주소) 마스터하기’라는 챕터를 만들어 놓았으니, 앞으로 R로 데이터를 불러오는 과정에서 막히면 해당 챕터를 참고하시기 바랍니다.) 초심자 분들을 위해 이 챕터에서는 그냥 저만 따라하면 파일을 불러올 수 있도록 내용을 구성했습니다.

  1. 우측 하단의 Files 탭으로 들어가세요. 보시면 윈도우탐색기와 비슷해서 익숙하실 겁니다. 그곳에서 폴더들을 돌아다니며, 불러오고자 하는 파일을 찾으세요.


  1. sampleData.csv파일을 찾으셨으면 그대로 둔 상태에서, 상단의 Session 메뉴로 들어가셔서 ‘Set Working Directory’ -> ’To Files Pane Location’을 선택하세요.


  1. 다시 File 밑에 있는 버튼을 누르고 들어가서 R Scipt를 선택하거나, 단축키’Ctrl + Shift + N’를 눌러서 R 스크립트창을 새로 만드세요. 좌측 하단의 콘솔창에 직접 명령어를 입력하셔도 되지만, 그럼 나중에 내가 작업한 코드들을 정리해서 보관할 수 없습니다. 좌측 상단의 스크립트창은 연구노트라고 생각하시고, 되도록 작업하는 모든 코드는 이곳에 적고 저장해두세요. 그럼 나중에 피가 되고 살이 됩니다.


  1. 좌측 상단의 스크립트 창에 아래 코드를 입력하신 뒤에 ’Ctrl + return(enter)’키를 눌러서 해당 줄을 실행시키세요. 그러면 우측 상단의 Environment창에 sampleData라는 이름의 데이터셋이 생성된 걸 확인하실 수 있습니다. 이 명령어에서 ’header = TRUE’라는 옵션은 불러오는 데이터의 첫번째 줄이 데이터 자체가 아니라, 컬럼의 이름이 적혀 있다는 걸 컴퓨터에게 알려줍니다.
> sampleData <- read.csv(file ="./sampleData.csv", header = TRUE)


  1. Environment창에서 sampleData를 마우스로 클릭하시거나, View(sampleData)를 스크립트창에 입력하신 뒤, ’Ctrl + return(enter)’로 실행시켜보세요. 새로운 탭이 열리면서 아래와 같이 데이터들이 보인다면 여려분은 모두가 어렵다고 기겁하는 과정을 무사히 넘기신 겁니다.




TXT파일 R로 불러오기

이번에는 TXT파일을 불러오도록 하겠습니다. 예제파일은 colon_cancer_sample_2012.txt라는 파일입니다. 건강보험심사평가원에서 무료로 배포한 대장암 관련 공공데이터이며, 실습을 위해 일부만 따로 파일을 만들었습니다.

  1. csv파일을 읽어오는 함수가 read.csv()함수였다면, TXT파일은 read.delim()함수를 이용합니다.
> colonCancer <- read.delim(file = "./colon_cancer_sample_2012.txt")


위의 코드를 스크립트창에 입력하고 실행시키세요.

  1. 우측 상단의 Environment창에 colonCancer라는 데이터셋이 보일 겁니다. 클릭해보면, 새로운 탭이 열리면서 아래와 같은 데이터가 보인다면 이 또한 성공하신 겁니다. 축하드립니다.