相关疑难解决方法(0)

在R中将字符转换为日期

我对R来说比较新,但这是我第一次不得不处理日期转换.我从CSV读取数据(使用read.table()),但我缩短了数据以突出显示我的问题.当读入R时,Date字段是字符.

简单地说,我的大多数日期都被正确强制,除了少数情况.下面的例子有望向您展示正在发生的事情.

# 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
Run Code Online (Sandbox Code Playgroud)

如您所见,某些日期的年份不准确.当这一天是两位数时,似乎会出现这种模式.

我查看了几本书并尝试了Google更好的方法,但似乎所有内容都表明我的数据在输入时格式不正确.

鉴于R有多强大,我认为有一种非常简单的方法可以强制我的专栏成为有效的日期,而且我忽略了一个非常明显的解决方案.

我们将非常感谢您提供的任何帮助.

r lubridate

28
推荐指数
2
解决办法
14万
查看次数

标签 统计

lubridate ×1

r ×1