【问题标题】:How to upload CSV files to GitHub repo and use them as data for my R scripts如何将 CSV 文件上传到 GitHub 存储库并将它们用作我的 R 脚本的数据
【发布时间】:2021-08-23 18:31:04
【问题描述】:

我目前正在做一个项目,该项目使用 R 来处理一些大型 csv 文件,这些文件保存在与我的 repo 链接的本地目录中。

到目前为止,我成功地创建了 R 项目并将 R 脚本提交并推送到 repo 中,没有任何问题。

但是,脚本从保存在我的本地目录中的 csv 文件中读取数据,因此代码以表格形式出现

df <- read.csv("mylocaldirectorylink") 

但是,如果我和我的合作伙伴在同一个项目上工作,每次我们从 repo 中提取它时都必须将该 url 更改为我们自己的本地目录,这将没有帮助。所以我在想也许我们可以将 csv 文件上传到 GitHub Repo 并让 R 脚本直接引用在线的 csv 文件。

所以我的问题是:

  • 为什么我不能将 csv 文件上传到 GitHub?他们一直说我的文件太大。
  • 如果我可以上传 csv 文件,我如何从这些 csv 文件中读取数据?

【问题讨论】:

  • Github 不是文件共享服务。如果您希望共享数据以进行分析,为什么不使用 Google Drive,它有一个package 方便访问。
  • (a) df 是一个错误的变量名称 (b) 如果您遇到该错误,那么您的 CSV 是 YUGE,您应该考虑使用 xz 加密迁移到 RDS 文件。这将使您绕过限制。参考 GH URL 获取数据是个坏主意,但如果它被克隆,您可以使用 rprojroot pkg 来确保您都使用本地副本。如果你被 CSV 卡住了(呃),请使用 Amazon S3、Google Drive、Dropbox 或其他一些类似的服务(正如 Jake 建议的那样)。

标签: r github


【解决方案1】:

首先,将数据存储在 Github 上通常是个坏主意,尤其是在数据很大的情况下。如果您想将其保存在 Internet 上的某个位置,您可以使用 Dataverse,然后可以使用 URL(通过 API)或 Google Drive 访问您的数据,正如 Jake Kaupp 建议的那样。

现在回到你的问题。如果您的数据没有改变,我不会使用 CSV 的绝对路径,而是使用相对路径。换句话说,而不是

df<-read.csv("C:/folder/subfolder/data.csv")

我会用

df <- read.csv("../data.csv")

如果您正在使用 R 项目,则初始工作目录位于项目文件夹内。您可以使用getwd() 进行检查。当您移动 R 项目时,此工作目录会发生变化。只要同意您的同事的意见,您的数据文件应该与 R 项目所在的文件夹位于同一文件夹中。

【讨论】:

  • (仅供参考 GitHub 在互联网上,用于数据存储/共享所有时间。+rprojroot 是一个更普遍的建议)
【解决方案2】:

这是一个 Python 脚本。

您可以通过编辑 .gitignore 文件来跟踪 csv 文件。

     **OR**

您可以在自己的 github 仓库中添加 csv 文件,供其他人使用。

我是按照以下步骤完成的:

  1. 查看 github.com 上的分支
  2. 转到您要保存 csv 文件的文件夹。
  3. 在这里,您会在右上角看到一个“添加文件”选项,如下所示:
  1. 您可以在此处上传 csv 文件并在同一分支中或通过创建新分支提交更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2019-10-09
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2015-09-10
    • 2014-03-27
    相关资源
    最近更新 更多