Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于在OSX 10.9.2中转换R3.1.0中的日期_R_Excel_Macos_Date - Fatal编程技术网

关于在OSX 10.9.2中转换R3.1.0中的日期

关于在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/

我有一列日期,包含两种不同的格式,即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(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')
可能会起作用。