[本記事の内容は最新版のGoogle drive api v3 (2019年11月時点)には対応していません。]
Rにgoogledriveというパッケージがあります。
これを使えば、ローカル(分析環境上)に保存してなくgoogle drive上のみにあるデータを一時的にダウンロードしてRで分析し、最終的にgoogle driveにアップロードすることが可能です。まあなにがいいかというとローカル(分析環境上)にインプット/アウトプットデータを保持しなくていいということですね。
##Google driveのアクセス権を取得
###Rを起動している環境からweb browserが使用可能な場合
library(googledrive)
##まずはgoogledrive上のデータリストを取得してみる
drive_find(n_max = 50)
##この際にアクセス権の取得プロセスが起動する
Use a local file ('.httr-oauth'), to cache OAuth access credentials between R sessions?
1: Yes
2: No
Selection: 1
あとはweb browserが起動し、そのまま進めていけばOK
###Rを起動している環境からweb browserが使用できない場合(クラウドマシーンやサーバーなど)
options(httr_oob_default=TRUE) ##このオプションが必要
Please point your browser to the following url:
https://accounts.google.com/o/oauth2/auth?client_id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
##上記のようにurlが与えられるので、ローカルのweb browserからアクセスし、コードを取得
Enter authorization code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
##Google drive上のデータをダウンロードする
#データ名のリストを取得
drive_find( n_max=50)
#まずはマニュアルどおり(ここはマニュアルそのまんま)
##名前で検索
drive_find(pattern = "chicken") ##なんでchickenなんだろ
##ファイル属性で検索
drive_find(type = "spreadsheet") ## Google Sheets!
drive_find(type = "csv") ## MIME type = "text/csv"
drive_find(type = "application/pdf") ## MIME type = "application/pdf"
#データをダウンロードする
##例としてAAAAA.tifというgoogle driveにあるtifファイルをダウンロードしてみる
##Google drive上からほしいデータを検索&特定する
inputname <- drive_find(pattern = "AAAAA.tif")
drive_download(file = inputname, type = "tif", path = here(inputname), overwrite = TRUE) #この例ではhereパッケージ(カレントディレクトリの管理に便利)を利用している.pathはDLする場所を指定
これでhere(inputname)にinputnameのデータがDLされる
##データをアップロードする
##outnameはローカルデータ
drive_upload(media = outname, name = outname)