在RGoogleDocs中获取价值而不是公式

时间:2009-09-08 17:58:45

标签: r google-docs

是否有一种简单的方法来读取细胞的值而不是公式? 顺便提一下,我只在我发布的电子表格中解决了这个问题,但在私有的电子表格中却没有。 因此,例如在一个单元格中,其价值是通过简单地使用Google电子表格中左侧单元格中的值创建的,我希望得到的值不是=RC[-1]

当使用Google Spreadsheets作为csv导出时,则不会发生这种情况。

我在R

中使用以下代码行
y2009<-sheetAsMatrix(ts2$y2009,header=TRUE, as.data.frame=TRUE, trim=TRUE)

3 个答案:

答案 0 :(得分:1)

如果你没有偶然发现这个网页,它看起来很有用(我自己没试过......)

http://blog.revolutionanalytics.com/2009/09/how-to-use-a-google-spreadsheet-as-data-in-r.html

目前正在维护以前使用的软件包(RGoogleData)。

祝你好运!

答案 1 :(得分:1)

不是一个聪明的解决方案,但评估公式确实有效。例如,使用以下功能:

getValues <- function(x) {
    m <- apply(x, 2, function(x) as.character(x))
    for (i in 1:nrow(m)) {
        formulas <- which(substr(m[i,], 1, 4) == "=RC[")
        t <- sub('=RC[', '', m[i, formulas], fixed=TRUE)
        t <- sub(']', '', t, fixed=TRUE)
        t <- as.numeric(t)
        m[i, formulas] <- m[i, (formulas + t)]
    }
    return(m)
}

getValues(y2009)应返回包含所有必需值的数据框。我知道这是一个非常愚蠢的“解决方案”,有很多妥协,但我希望你能为这项任务编写更多更清晰的功能! :)

答案 2 :(得分:1)

最初的问题写于2009-09。当时我使用RGoogleDocs阅读谷歌电子表格。在过去的几个月里,我发现了一个积极创建和维护的软件包,名为&#34; googlesheets: Manage Google Spreadsheets from R&#34;来自加拿大不列颠哥伦比亚省的Jennifer Bryan和Joanna Zhao。起初它只在GitHub上,现在它在Cran存储库中。它运作良好。它有利于阅读和写作。它不会泄露用户的谷歌密码。我之前在RGoogleDocs中遇到的所有问题都被googlesheets无关。