关于在OSX 10.9.2中转换R3.1.0中的日期
我有一列日期,包含两种不同的格式,即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日。该列如下所示:关于在OSX 10.9.2中转换R3.1.0中的日期,r,excel,macos,date,R,Excel,Macos,Date,我有一列日期,包含两种不同的格式,即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/
> 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(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.
有没有简单的方法来转换日期?您需要将字符串转换为类日期的对象,例如
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"
编辑您的问题并包含
dput(head(date))
的输出可能对您很有用。在我看来,它更像是日期字符串,而不是Date
对象。假设date
是一个数据帧,那么格式(如.date(date[[1]],'%d/%m/%y'),'%d%b%y')
可能会起作用。