Изменение формата ввода даты в 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)