猿问

将字符转换为R中的日期

我对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的强大功能,我认为有一种非常简单的方法可以将我的列强制为有效日期,而我却忽略了一个非常明显的解决方案。


您能提供的任何帮助将不胜感激。


婷婷同学_
浏览 564回答 3
3回答
随时随地看视频慕课网APP
我要回答