我正在使用R [1]软件包RGoogleDocs [2]连接到我的Google文档,获取电子表格列表并从指定的电子表格导入特定的工作表。按照https://github.com/hammer/google-spreadsheets-to-r-dataframe
给出的示例,我可以做到这一点没问题我遇到的问题是日期列。在Google文档下,我选择将这些格式设置为YYYY-MM-DD,并且它们在Google文档中显示正常。
但是,导入到R的导出CSV将这些作为数字字段,例如....
Displayed in Google Docs > As imported to R
2013-02-15 > 41320
2013-02-19 > 41324
2013-02-26 > 41331
2013-03-22 > 41355
这不一定是个问题,因为看起来这些是已过去的日期,但我不知道它们被计算的来源是什么。一旦我知道原点,R就有一个转换日期/时间的功能,允许指定它,这样我就可以在R内部重新格式化(使用as.Date(date,origin =“”)函数)。
为了尝试绕过这个,我将格式设置为日期列的纯文本,但是尽管键入了日期/月份的前导零的日期< 10它们没有导出,所以as.Date()函数抱怨它们是非标准格式。
因此,我有两个选项/问题......
1)Google Docs在内部用于表示日期的来源是什么? (我通过谷歌帮助搜索了这个,但找不到它,更广泛的网络搜索毫无结果)
2)是否有将日期作为字符串导出为CSV的方法? (我试过这个,但是当他们在Google Docs中设置为“纯文本”时,输入日期时输入的前导零('0')不会出现在导出中,这意味着R会抱怨日期是非标准格式*)。
提前感谢您的时间,
slackline
[1] http://www.r-project.org/ [2] http://www.omegahat.org/RGoogleDocs/
答案 0 :(得分:2)
关于您的问题编号1):显然,Google文档使用1899-12-30作为日期来源:
as.Date(41320, origin="1899-12-30")
# [1] "2013-02-15"
# etc