我对R比较陌生,但这是我第一次必须处理日期转换。我从CSV中读取了数据(使用read.table()),但我将数据缩短以突出显示我的问题。读入R时,日期字段为字符。
简而言之,除了少数情况,我的大多数约会都得到了正确的强制。以下示例有望向您显示正在发生的事情。
# my attempt to coerce the date -- uses the stringr package
prods.all$Date2 <- as.Date(str_sub(prods.all$Date, 1,
str_locate(prods.all$Date, " ")[1]-1),
"%m/%d/%Y")
# grab two rows to highlight my issue
temp <- prods.all[c(1925:1926), c(1,8)]
> temp
Date Date2
1925 10/9/2009 0:00:00 2009-10-09
1926 10/15/2009 0:00:00 0200-10-15
如您所见,某些日期的年份不正确。当日期为两位数时,似乎会出现这种模式。
我浏览了几本书,并尝试了一种更好的Google搜索方法,但是似乎所有内容都表明我的数据在输入时格式不正确。
考虑到R的强大功能,我认为有一种非常简单的方法可以将我的列强制为有效日期,而我却忽略了一个非常明显的解决方案。
您能提供的任何帮助将不胜感激。