[R] Mixed format
Rui Barradas
ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Jan 21 00:40:29 CET 2020
Hello,
The following strategy works with your data.
It uses the fact that most dates are in one of 3 formats, dmy, mdy, ymd.
It tries those formats one by one, after each try looks for NA's in the
new column.
# first round, format is dmy
DFX$dnew <- lubridate::dmy(DFX$ddate)
na <- is.na(DFX$dnew)
# second round, format is mdy
DFX$dnew[na] <- lubridate::mdy(DFX$ddate[na])
na <- is.na(DFX$dnew)
# last round, format is ymd
DFX$dnew[na] <- lubridate::ymd(DFX$ddate[na])
# remove what didn't fit any format
DFX <- DFX[!is.na(DFX$dnew), ]
DFX
Hope this helps,
Rui Barradas
Às 22:58 de 20/01/20, Val escreveu:
> Hi All,
>
> I have a data frame where one column is a mixed date format,
> a date in the form "%m-%d-%y" and "%m/%d/%Y", also some are not in date format.
>
> Is there a way to delete the rows that contain non-dates and
> standardize the dates in one date format like %m-%d-%Y?
> Please see my sample data and desired output
>
> DFX<-read.table(text="name ddate
> A 19-10-02
> B 22-11-20
> C 19-01-15
> D 11/19/2006
> F 9/9/2011
> G 12/29/2010
> H DEX",header=TRUE)
>
> Desired output
> name ddate
> A 19-10-2002
> B 22-11-2020
> C 19-01-2015
> D 11-19-2006
> F 09-09-2011
> G 12-29-2010
>
> Thank you
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list