我正在尝试通过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))
答案 0 :(得分:1)
问题源于使用c
将dt
和val
连接到向量中。
当您使用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))
如果第一次无效,您可能必须删除旧的工作表,制作包含相同数据的新工作表,然后在新工作表上运行代码。
谢谢!