0. googledrive 패키지

구글드라이브는 R과 직접적으로 연동하여 파일 업로드, 다운로드, 삭제 등을 관리할 수 있도록 도와주는 패키지입니다.

drive_auth

1. Installation

CRAN에서 직접 다운로드 받아서 설치하는 것을 권장합니다.

# install.packages("googledrive")
library(googledrive)

만약 Github에서 직접 설치를 하고자 한다면 아래와 같이 설치를 진행할 수 있습니다.

# install.packages("devtools")
# devtools::install_github("tidyverse/googledrive")
library(googledrive)

자세한 내용은 패키지 저장소에서 확인하시기를 바랍니다. https://github.com/tidyverse/googledrive.

2. User Authentification

R에서 명령어 drive_auth()를 실행 하면 아래와 같은 화면이 나옵니다.
drive_auth

모두 확인해 주시면, 마지막 팝업창에 아래와 같은 메시지가 나오면 해당 탭을 닫아주시면 됩니다.

Authentication complete. Please close this page and return to R.

3. Search files

drive_find()을 활용하면 다양한 방법으로 데이터를 가져올 수 있습니다. 우선 우리가 가져오려는 파일의 형태는 .csv 형태라서 이와 관련된 파일만 집중적으로 가져오도록 하겠습니다.

> drive_find(type = "csv")
Items so far: 
105 
# A tibble: 105 x 3
   name            id                              drive_resource  
 * <chr>           <chr>                           <list>          
 1 filelist.csv    18Nzc2J5NwQtD90fyewUmltIF0hryA… <named list [39…
 2 pbcorr.csv      1WehIois81qVNQx_YZKlTNyFIjJ9EH… <named list [39…
 3 grades.csv      1y1AGsFbvQVlDHHgihL51FWulr2n_n… <named list [39…
 4 wii.csv         1l3jN7cADnNtobS-kKLpk7DgYr9QkY… <named list [39…
 5 Depression.csv  1dDvvTkQW3B2iJxYfjF-8J9oZPR-G-… <named list [39…
 6 Gallup et al.c… 1qJZv-3R4VMgrhXEg8P0beJYhe4sDQ… <named list [39…
 7 goggles.csv     1u5NiZf8fd2O27eOiOQ9MBvEGN8jeq… <named list [39…
 8 carAccident.csv 1F1Nd9HvXIkKt-ly4d5abKKEzw2EN1… <named list [39…
 9 testCar.csv     1SlF5Awywmtk_4IceDhTIGYNy5bSsr… <named list [39…
10 A_test.csv      1Wr8Mw-Paf7yfd_aEpl7cDDu5HTVr5… <named list [39…
# … with 95 more rows

4. File Download

파일의 ID 또는 이름을 확인했다면, 구글 드라이브에서 파일을 다운로드 받을 수가 있습니다.

> drive_download(file = driveDF$name[3], path = driveDF$name[3], overwrite = TRUE)
File downloaded:
  * grades.csv
Saved locally as:
  * grades.csv

5. Import File downloaded from google drive

파일을 다운로드 받았다면, 이제 익숙한 방식으로 grades.csv 파일을 불러오고 바로 확인하도록 하겠습니다.

grades <- read.csv("grades.csv", stringsAsFactors = FALSE)
knitr::kable(grades %>% head())
stats gcse
1 1
1 1
1 3
2 3
2 3
2 4

그 외 다른 함수 사용에 대해 궁금한 사항이 있다면, googledrive 공식문서에서 확인하여 주시기를 바랍니다.

공식문서: https://googledrive.tidyverse.org/