从哈佛dataverse下载一个csv文件

qfe3c7zg  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(112)

我想用R下载下面的数据集https://doi.org/10.7910/DVN/M3D2NR,而不是让用户手动下载。必须访问Web,选择文件,然后按“下载”。有没有办法用R自动下载?

u5i3ibmn

u5i3ibmn1#

棘手的部分是找出文件所在的url,一旦找到,就可以使用download.file并提供适当的目标地址来保存它


的数据

download.file("https://dataverse.harvard.edu/api/access/datafile/3086908?gbrecs=true", 
               paste0(getwd(), "/filename.csv"))

字符串

mutmk8jj

mutmk8jj2#

还有一个专用于R的Dataverse客户端(GitHub,CRAN)。这个包提供了一个函数get_dataframe_by_name,可以让你通过DOI和文件名指定数据集,而无需寻找文件位置。你可以在项目README中找到documentation here和一些关于如何下载文件的片段。
您的程式码应该看起来像这样:

# Install package from CRAN
install.packages("dataverse")

downloaded_data <-
  get_dataframe_by_name(
    filename    = "AMPD_Unit_with_Sulfur_Content_and_Regulations_with_Facility_Attributes.csv",
    dataset     = "10.7910/DVN/M3D2NR/0DXVG7",
    server      = "dataverse.harvard.edu",
    original    = TRUE,  # Download the original file and not the ingested version
    .f          = readr::read_rds  # Specify the function to read the file. Use a CSV reader here 
  )

字符串
如果文件包含Dataverse已摄取的表格数据,则可以删除original.f参数。

相关问题