1

我正在尝试通过gs_add_rowgooglesheets 将值对(日期、值)添加到 Google 表格。这成功了,只是这两个值在 Google 表格上都显示为日期。

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

我什至尝试将表格中的单元格格式设置为“数字”而不是“自动”,但没有任何区别。

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

编辑 示例代码:

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))
4

1 回答 1

1

问题源于使用c连接dtval成向量。使用时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))

如果这在第一次不起作用,您可能必须删除旧工作表,使用相同数据制作新工作表,然后在新工作表上运行代码。

谢谢!

于 2016-07-05T23:46:03.413 回答