gpt4 book ai didi

Google 文档上的 R 代码

转载 作者:行者123 更新时间:2023-12-04 16:24:43 25 4
gpt4 key购买 nike

我知道您可以在 Google 文档上发布电子表格,然后将它们导入 R。但是,假设我有一个函数或一些我想在 R 中读取的代码(例如在源函数中)。例如,您将如何读取存储在 google 文档中的所有这些代码?

https://docs.google.com/document/edit?id=1f11rcVs9AtVcgOyiP0lV04yq9hshVDIPx93lA0ItFvQ

我不认为这已经发表,但这只是举个例子。

基本上我想:

  • 在 R 中创建一个函数(为了可比性,请参见下面的示例)
  • 将其上传到 Google Docs 并通过链接与任何人共享,这样我就不必通过 R 或 Google Docs 等登录...
  • 在我想要的任何地方通过类似 source() 的命令读取它

  • 我的兴趣不是阅读数据,而是阅读函数。当我不在同一台计算机/服务器上时,它可以更快地导入我自己的函数。

    有任何想法吗?

    非常感谢

    附言来自 statsmethods.net 的函数示例
    mysummary <- function(x,npar=TRUE,print=TRUE) {
    if (!npar) {
    center <- mean(x); spread <- sd(x)
    } else {
    center <- median(x); spread <- mad(x)
    }
    if (print & !npar) {
    cat("Mean=", center, "\n", "SD=", spread, "\n")
    } else if (print & npar) {
    cat("Median=", center, "\n", "MAD=", spread, "\n")
    }
    result <- list(center=center,spread=spread)
    return(result)
    }

    最佳答案

    对于这种情况,我会建议 Github 或类似的东西。

    推荐 Github 的几个原因:

  • 版本控制
  • 代码高亮
  • 协作
  • 能够在 Github 上开发和托管 R 包,其他人可以使用 devtools 在 R 中安装该包包裹
  • 简单易用的 URL 方案 source()加载函数

  • 将函数发布到 Github 后,您可以按如下方式轻松加载它:
    require(RCurl)
    baseURL = c("https://raw.github.com/--username--/--repo-name--/master/")
    source(textConnection(getURL(paste0(baseURL, "path-to-scripts/script-name.R"))))

    当然,您可以轻松地将它包装到一个函数中,而不必在每个 R session 中输入它,或者尝试 devtools 中的一些选项。包裹。

    如果您经常这样做,您可能想学习制作 R 包并将其托管在 Github 上。如果你只需要偶尔这样做,你可以考虑使用“github:gist”代替。每个“要点”都分配了一个数字 ID,然后可以使用 source_gist() 轻松获取该 ID。来自 devtools包装如下:
    source_gist("gist-id-number")

    很难打败它,但是您必须记下函数的 ID 号,或者将所有函数放在一个文件中并记住一个 ID 号……

    我不推荐使用 Google Docs 之类的东西来编写代码的原因是,出于此类目的使用“文字处理器”类型的软件通常是一个糟糕的主意,因为它们可能会引入隐藏字符,从而使您的文件难以获取。此外,纯文本版本的 URL 非常晦涩,您将无法记住....

    顺便说一句,可以在您的帖子中获得您链接到的文件的“txt”版本,但我无法 source()它——我必须在文本编辑器中打开它并将其复制并粘贴到 R 中。这是因为文件编码似乎是“UTF-8(带 BOM)”。有没有人有关于如何处理的提示?

    关于Google 文档上的 R 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913190/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com