본문 바로가기

회사생활/R

로컬에서 데이터 불러오기 / 데이터 저장하기

로컬에서 데이터 불러오기 / 데이터 내보내기 (로컬에서 데이터 열기 / 저장하기)




온라인에서 CSV 또는 TXT 또는 TSV로 된 샘플 데이터를 다운로드 받았다고 하자.

이렇게 다운로드 받은 데이터를 어떻게 R에서 작업하고 어떻게 다시 로컬 PC에 저장하는지 알아보자.




(0) 온라인에서 데이터 다운로드 받기


사전에 준비된 CSV 파일이 없다면 아래 포스팅에서 다운로드 하자.


▼ 샘플 데이터 drama_genre.csv CSV 파일 다운로드 ▼

2017/03/22 - [Analysis/R] - [R 예제 코드] Logistic Regression / 로지스틱 회귀분석



파일을 저장한 경로를 기억하자. 나는 C:\kkokkilkon 폴더에 drama_genre.csv 파일을 저장했다.




(1) Working Directory (작업폴더) 세팅하기


이 단계는 내가 어떤 폴더에서 작업을 하고 있는지를 미리 설정해 주어서 그 폴더 안에 있는 데이터를 열거나 그 폴더에 저장할 때는 C:\kkokkilkon와 같은 경로를 매번 따로 쓸 필요 없이 그냥 drama_genre.csv 만 쓰면 되도록 해주는 단계이다. 따라서 일시적으로 작업폴더 외에 다른 폴더에 저장된 데이터를 가져오거나 할 때에는 이 단계를 실행할 필요 없이 바로 (2) 단계에서 C:\kkokkilkon\drama_genre.csv 라고 경로+파일이름 전체를 작성해 주어도 무방하다.


1.  Working Directory 확인하기

getwd()

위 코드를 실행하면 아래와 같이 기존에 설정되어 있던 경로가 콘솔에 출력된다.




2.  Working Directory 설정하기

경로의 계층구조를 표현할 때 슬래쉬(/) 또는 역슬래쉬 두번(\\)을 사용한다.
setwd("C:/kkokkilkon)

또는
setwd("C:\\kkokkilkon)


3.  Working Directory 확인하기


새로 설정한 Working Directory가 잘 변경되었는지 확인한다.

getwd()


아래와 같이 어떤 / 든 \\ 든 setwd로 Working Directory를 설정해도 같은 결과가 나온다.






(2) 로컬에서 데이터 불러오기 (데이터 열기)


drama_genre.csv 파일을 불러와 drama라는 변수에 할당해보자.

# Working Directory를 설정했다면 ...
drama <- read.csv(file = "drama_genre.csv",
                  header = T,
                  sep = ",",
                  na.strings = c("NA", ""),
                  stringsAsFactors = T)

# file = "데이터가 저장된 경로" (작은 따옴표도 무방)
# header = 첫 행이 컬럼명(변수명)이면 T, 아니면 F
# sep = 셀을 구분하는 구분기호. CSV는 Comma Seperated Value이니 "," 이고
#       탭으로 구분된 TSV 파일인 경우 sep = "\t"으로 옵션을 설정한다.
# na.strings = R로 불러올 때 NA로 인식시키고 싶은 문자. 여러 개인 경우 c( )로 묶어서 쓴다.
# stringsAsFactors = 문자로 된 값을 Factor로 불러오려면 T, Character로 불러오려면 F

# Working Directory를 설정하지 않았다면 ...
drama <- read.csv(file = "C:/kkokkilkon/drama_genre.csv",
                  header = T,
                  sep = ",",
                  na.strings = c("NA", "")
                  stringsAsFactors = T)

-
-

오른쪽 위 Environment Panel에 아래와 같이 drama가 새로 추가된 것을 볼 수 있고 drama는 150 obs.(=150 행)과 3 variables (=3 열)로 이루어진 데이터 라는 것을 알 수 있다.






(3) 로컬에서 데이터 내보내기 (데이터 저장)


drama라는 변수에 저장된 데이터를 다시 로컬에 new_drama_genre.csv 라는 CSV 파일로 저장해보자.

write.csv(x = drama,
          file = "new_drama_genre.csv",
          na = "",
          row.names = F)

# x = 작업했던 데이터가 할당되어 있는 변수명 (따옴표를 쓰지 않는다)
# file = 새로 저장할 파일명. 동일한 파일명이 있는 경우 덮어쓰니 주의하자.
# na = NA를 어떤 값으로 저장시킬지 설정. ""는 빈칸으로 두겠다는 설정
# row.names = F (특별히 행 이름이 중요하지 않는 이상 내보내지 않는다.)


위와 같이 경로를 지정하지 않으면 자동으로 Working Directory로 저장되니 필요시 파일명 앞에 경로도 함께 써준다.

위 코드를 실행하면 아래와 같이 C:\kkokkilkon 폴더에 new_drama_genre.csv 파일이 저장된다.





다음 포스팅에는 데이터 중 일부를 선택 / 추출 / 필터링 하는 R 코드에 대해 포스팅 해보겠다.