Изменение формата ввода даты в r

У меня есть проблема с моим форматом даты с записями, имеющими два формата (d/m/y and d.m.y), Я пытался изменить d.m.y формат to d/m/y но безрезультатно.

Пример данных:

anim <- c("a","b","c","d","e","f")
tdate <- c("2/12/2013","3/12/2013","4/12/2013","11.01.2014","12.01.2013","13.01.2013")
zap <- data.frame(anim,tdate)
zap
  anim      tdate
1    a  2/12/2013
2    b  3/12/2013
3    c  4/12/2013
4    d 11.01.2014
5    e 12.01.2013
6    f 13.01.2013

РЕДАКТИРОВАТЬ:

У меня также есть формат даты с 15.12.13 (d.m.y), я получил0013-12-13 когда используешь as.Date(zap$tdate,format="%d/%m/%Y"),

anim <- c("a","b","c","d","e","f")
tdate <- c("2/12/2013","3/12/2013","4/12/2013","11.01.2014","12.01.13","13.01.13")
zap <- data.frame(anim,tdate)
zap
  anim      tdate
1    a  2/12/2013
2    b  3/12/2013
3    c  4/12/2013
4    d 11/01/2014
5    e   12/01/13
6    f   13/01/13
> zap$tdate <- as.Date(zap$tdate,format="%d/%m/%Y")
> zap
  anim      tdate
1    a 2013-12-02
2    b 2013-12-03
3    c 2013-12-04
4    d 2014-01-11
5    e 0013-01-12
6    f 0013-01-13

Любая помощь будет оценена.

Спасибо,

1 ответ

Попробуйте это, преобразуйте его в символ, затем установите первые две цифры в 20.

zap$tdate<-as.character(zap$tdate)
substr(zap$tdate,1,2)="20"

zap$tdate
[1] "2013-12-02" "2013-12-03" "2013-12-04" "2014-01-11" "2013-01-12" "2013-01-13"

Затем вы можете установить его обратно в класс даты, если хотите.

zap$tdate<-as.Date(zap$tdate)
Другие вопросы по тегам