I would like to read in R a dataset from google drive as the
screenshot indicated.
Neither
url <- "https://drive.google.com/file/d/1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0"
temp <- tempfile()
download.file(url, temp)
bank <- read.table(unz(temp, "bank-additional.csv"))
unlink(temp)
nor
library(RCurl)
bank_url <- dowload.file(url, "bank-additional.csv", method = 'curl')
works.
I have been working on this for many hours. Any hints or solutions would be really appreciate.
Try
temp <- tempfile(fileext = ".zip")
download.file("https://drive.google.com/uc?authuser=0&id=1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0&export=download",
temp)
out <- unzip(temp, exdir = tempdir())
bank <- read.csv(out[14], sep = ";")
str(bank)
# 'data.frame': 4119 obs. of 21 variables:
# $ age : int 30 39 25 38 47 32 32 41 31 35 ...
# $ job : Factor w/ 12 levels "admin.","blue-collar",..: 2 8 8 8 1 8 1 3 8 2 ...
# $ marital : Factor w/ 4 levels "divorced","married",..: 2 3 2 2 2 3 3 2 1 2 ...
# <snip>
The URL should correspond to the URL that you use to download the file using your browser.
As @Mako212 points out, you can also make use of the googledrive
package, substituting drive_download
for download.file
:
library(googledrive)
temp <- tempfile(fileext = ".zip")
dl <- drive_download(
as_id("1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0"), path = temp, overwrite = TRUE)
out <- unzip(temp, exdir = tempdir())
bank <- read.csv(out[14], sep = ";")