关于在OSX 10.9.2中转换R 3.1.0中的日期

时间:2014-05-03 01:27:50

标签: r excel macos date

我有一列包含2种不同格式的日期,即DD / MM / YY和D / M / YY。由于Microsoft Excel(对于mac 2011,14.3.9)在部分变量中将标记为D / M / YY的日期识别为M / D / YY,因此输出日期变得不正确。

然后我转向R并尝试将该列转换为“DD-MON-YYYY”格式,其中MON是短月形式,如2014年1月1日。专栏是这样的:

> head(date, 10)
       date
1  17/12/96
2   27/6/07 
3   21/6/13
4   24/7/13
5   17/7/13
6   16/7/13
7  13/10/99
8   20/2/97
9  14/12/96
10  19/6/13 

我使用了format函数

format(date,"%d %b %Y")

输出

Error in format.default(structure(as.character(x), names = names(x), dim = dim(x),  : 
  invalid 'trim' argument

我也尝试过lubridate套餐但没有成功。

> library(lubridate)
> dmy(date)
[1] NA
Warning message:
All formats failed to parse. No formats found.

有没有简单的方法来改变日期?

1 个答案:

答案 0 :(得分:2)

您需要将字符串转换为类日期的对象,例如

as.Date("17/12/96", "%d/%m/%y")
[1] "1996-12-17"

然后应用您的格式

format(as.Date("17/12/96", "%d/%m/%y"), "%d-%b-%Y")
[1] "17-Dec-1996"