整数被解释为R + googlesheets添加到Google表格时的日期

时间:2016-07-05 21:13:41

标签: r google-sheets-api r-googlesheets

我正在尝试通过googlesheets中的gs_add_row向Google表格添加值对(日期,值)。这样做会成功,除了这两个值在Google表格上显示为日期。

我检查了"值"预先确保它符合预期(例如50),但表格显示日期(1970-02-20)。

我甚至尝试将表单中的单元格格式设置为" Numbers"而不是"自动"但它没有任何区别。

有没有办法指定变量类型?

修改 示例代码:

library(lubridate)
library(googlesheets)
library(dplyr)

#URL <- "[some 'published to the web' Google Sheet URL]"
dt <- ymd(today())
val <- 50

URL %>% 
    gs_url() %>% 
    gs_add_row(ws=3, input = c(dt, val))

1 个答案:

答案 0 :(得分:1)

问题源于使用cdtval连接到向量中。 当您使用c时,输出类型由层次结构NULL < raw < logical < integer < double < complex < character < list < expression中组件的最高类型确定。因此,在这种情况下,连接的输出(使用c)属于Date类。 如果您已完成c(val, dt),则输出类型为numeric

你最好的办法是:

URL %>%
    gs_url() %>% 
    gs_add_row(ws=3, input = c(as.character(dt), val))

如果第一次无效,您可能必须删除旧的工作表,制作包含相同数据的新工作表,然后在新工作表上运行代码。

谢谢!