在R中,这似乎应该很明显,但是我遇到了麻烦。我将日期格式设置为1/1 / 00、12 / 31/00等,每个部分都缩写了。
当我尝试将其转换为日期时,出现此错误:
> headlines$Date <- as.Date(headlines$Date)
Error in charToDate(x) :
character string is not in a standard unambiguous format
我也尝试了以下方法,但是得到了所有NA
:
> headlines$Date <- as.Date(headlines$Date,format="%b/%d/%y")
我应该如何将该列转换为日期?
答案 0 :(得分:1)
将format = "%b/%d/%y"
替换为format = "%m/%d/%y"
。
%b
表示月份,如Jan
,Feb
,Mar
等。
%m
是等效的整数(1
,2
,3
等)。
答案 1 :(得分:1)
通过添加format参数,您处在正确的轨道上。我猜你意识到第一个错误(“字符串不是标准的明确格式”)是因为R不知道哪个数字是日,月或年。假设其中一个值为“ 01/02/03”;无法知道是2003年1月2日还是2003年2月1日,依此类推。
在这种情况下,我认为您只需要修复传递给format参数的内容即可。 %b
是文本形式的缩写月份的符号,而不是数字形式(例如,“ Jan”代替“ 01”)。您需要使用%m
代替几个月存储为数字。试试这个:
headlines$Date <- as.Date(headlines$Date,format="%m/%d/%y")
有关{R中的日期格式的更多信息,请参见this page。