【发布时间】:2014-09-10 19:59:16
【问题描述】:
将日期从 CSV 格式化为 R 可以使用的日期。
我有一个时间序列数据文件。我想将它加载到 R 中,并将 Date 列转换为 R 可用的东西。我可以将输入格式指定为 as.Date(),或者使用另一个可以正确转换 Date 的函数,例如 1/1/14?
在其他语言中,我习惯于传递一个格式字符串,该字符串告诉施法者如何格式化它,例如toDate('1/1/1', '%d/%m/%y')。我还没有找到 R 的这个功能。
my_time_series.csv
Date Value
1/1/14 123
1/2/14 128.56
1/3/14 129.14
1/4/14 130.13
1/5/14 137.97
1/6/14 141.05
1/7/14 141.35
1/8/14 142.14
1/9/14 142.14
1/10/14 149.89
现在我可以将它导入 R:
$ R
> dat = read.csv("time series test.csv", header = TRUE)
> dat
Date Value
1 1/1/14 123.0000
2 1/2/14 128.5693
3 1/3/14 129.1474
4 1/4/14 130.1361
5 1/5/14 137.9758
6 1/6/14 141.0548
7 1/7/14 141.3517
8 1/8/14 142.1449
9 1/9/14 142.1479
10 1/10/14 149.8912
好的,现在我需要将这些日期格式化为实际日期。 as.Date() 转换函数看起来很有希望,但返回的日期不正确:
> as.Date('1/10/14')
[1] "0001-10-14"
于是我搜索是否可以为as.Date()指定输入格式,但它只有第二个参数format用于输出格式。
我在保存 CSV 之前尝试在 Excel 中解决此问题,但它没有任何默认情况下似乎可以使用 as.Date() 的格式。
【问题讨论】: