Я относительно новичок в 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
Как вы можете видеть, год некоторых из дат неточно. Образец, похоже, возникает, когда день имеет двойную цифру.
Я просмотрел несколько книг и попытался Google лучше, но все, кажется, предполагает, что мои данные не корректно отформатированы на входе.
Учитывая, насколько силен R, я считаю, что есть очень простой способ заставить мой столбец быть действительными датами и что я игнорирую очень очевидное решение.
Любая помощь, которую вы можете предоставить, будет с благодарностью.