我有一个数据框,其中一列中的数据当前是“字符”,我需要将其更改为“日期”,但日期是混合格式,所以我不能只使用as.Date()。列中还有空行。以下是数据样本
> head(FarmersMkt$StartDate,n = 50)
[1] "June " "January " "05/01/2013 " "July " "06/17/2013 " "05/04/2013 " "" "06/27/2013 "
[9] "June " "" "06/29/2013 " "06/06/2013 " "" "May " "" ""
[17] "05/11/2013 " "01/01/2013 " "" "June " "June " "06/06/2013 " "" ""
[25] "" "04/20/2013 " "" "" "05/11/2013 " "" "01/01/2013 " "01/01/2013 "
[33] "06/06/2013 " "May " "06/23/2013 " "01/01/2013 " "June 17, 2012 " "June " "" ""
[41] "06/06/2013 " "" "May " "" "" "" "04/20/2013 " "01/01/2013 "
[49] "07/13/2013 " ""
所有年份都应该是2013年,日期可以是虚拟数据。如何将此列中的数据转换为日期格式?
答案 0 :(得分:1)
假设您知道观察的年份,并且您对从“六月”到标准化的映射感到满意,例如“2013-06-01”(设置月份等于第一天),然后我将采用的方法是生成两个新列,第一个将“%m /%d /%Y”格式转换为标准日期,第二个将“%B”转换为标准日期。然后将它们放在一起。如下所示:
$('.record').hide();
$('a.editRecord').click(function(e) {
e.preventDefault();
$('.record').hide();
$(this).closest('tr').nextUntil(":not(.record)").toggle('slow');
});
答案 1 :(得分:0)
答案是你不应该,即使有另一列告诉你它的格式
你将如何介入06/08/2010 1)2010年6月8日 2)2010年8月6日
我总是会转换为标准格式,因此我可以对其进行计算然后存储。如果我必须总是以不同的方式显示它,那么我会有另一个列告诉我如何显示它。