[R] Mixed Date Formats
Duncan Mackay
dulcalma at bigpond.com
Thu Jul 30 04:12:34 CEST 2015
Hi
I wonder if it is easier to convert the dates to character format and then reformat using gsub or the like
str(SampleData)
SampleData$date <- as.character(SampleData$date)
str(SampleData)
as.Date(
ifelse(nchar(SampleData[,"date"]) == 9, as.Date(SampleData[,"date"], format = "%d-%b-%y"),
ifelse(nchar(SampleData[,"date"]) == 8, as.Date(SampleData[,"date"], format = "%d/%m/%y"),
ifelse(as.numeric(substr(SampleData[,"date"],1,2)) > 12,
as.Date(SampleData[,"date"], format = "%d/%m/%Y"),
as.Date(SampleData[,"date"], format = "%m/%d/%Y")) )), origin = as.Date("1970-01-01"))
Beware of the American format in months jan feb mar oct nov -- will need more conditions to be imposed
Regards
Duncan
Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2351
Email: home: mackay at northnet.com.au
-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of farnoosh sheikhi via R-help
Sent: Thursday, 30 July 2015 07:16
To: Sarah Goslee
Cc: R. Help
Subject: Re: [R] Mixed Date Formats
Hi Sarah,
Thanks for getting back to me.Here is an example of my data:SampleData <- structure(list(id = 1:7, value = c(5813L, 8706L, 4049L, 5877L, 1375L, 2223L, 3423L), date = structure(c(4L, 3L, 2L, 1L, 7L, 6L, 5L), .Label = c("05/12/11", "06/05/11", "07-Dec-11", "19-Dec-11", "01/22/2011", "10/19/2011", "31/12/2011" ), class = "factor")), .Names = c("id", "value", "date"), row.names = c(NA, -7L), class = "data.frame")SampleData
Thanks for your help:).
On Wednesday, July 29, 2015 1:50 PM, Sarah Goslee <sarah.goslee at gmail.com> wrote:
On Wed, Jul 29, 2015 at 2:45 PM, farnoosh sheikhi via R-help
<r-help at r-project.org> wrote:
> Hi Arun,
> Hope all is well with you. I have a data with a column for date.The date format is mixed. There are date values with Month/Day/Year format and values with Day/Month/Year format.I don't know how to unify it.I really appreciate your help.Thanks.
You sent this to the R-help list, not just to Arun, so I'm assuming
this is an R question. The best way to get help is to provide a sample
of your data using dput() and to clearly specify what you would like
as the result - "unify" is a bit vague. paste(x, collapse="") could be
considered unification, after all.
Sarah
--
Sarah Goslee
http://www.functionaldiversity.org
[[alternative HTML version deleted]]
______________________________________________
R-help at 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