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