>>>>> John Kane >>>>> on Tue, 17 Dec 2019 20:28:17 -0500 writes:> library(lubridate) > gs$dat1 <- mdy(gs$date) there's really no reason for going beyond base R. Using the proper format as per Patrick and Peter's advice (below) is perfectly clear and actually more robust (for the next data set etc) than going via "good guessing" in extra packages. > On Tue, 17 Dec 2019 at 18:38, peter dalgaard <pdalgd at gmail.com> wrote: >> >> ...and switch the order, and use %y for 2-digit years. >> >> > On 17 Dec 2019, at 23:57 , Patrick (Malone Quantitative) <malone at malonequantitative.com> wrote: >> > >> > Try putting / instead of - in your format, to match the data. >> > >> > On Tue, Dec 17, 2019 at 5:52 PM Val <valkremk at gmail.com> wrote: >> >> >> >> Hi All, >> >> >> >> I wanted to to convert character date mm/dd/yy to YYYY-mm-dd >> >> The sample data and my attempt is shown below >> >> >> >> gs <-read.table(text="ID date >> >> A1 09/27/03 >> >> A2 05/27/16 >> >> A3 01/25/13 >> >> A4 09/27/19",header=TRUE,stringsAsFactors=F) >> >> >> >> Desired output >> >> ID date d1 >> >> A1 09/27/03 2003-09-27 >> >> A2 05/27/16 2016-05-27 >> >> A3 01/25/13 2012-04-25 >> >> A4 09/27/19 2019-09-27 >> >> >> >> I used this >> >> gs$d1 = as.Date(as.character(gs$date), format = "%Y-%m-%d") >> >> >> >> but I got NA's. >> >> >> >> How do I get my desired result? >> >> Thank you. >> >> >> >> ______________________________________________ >> >> 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. >> > >> > ______________________________________________ >> > 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. >> >> -- >> Peter Dalgaard, Professor, >> Center for Statistics, Copenhagen Business School >> Solbjerg Plads 3, 2000 Frederiksberg, Denmark >> Phone: (+45)38153501 >> Office: A 4.23 >> Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com >> >> ______________________________________________ >> 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. > -- > John Kane > Kingston ON Canada > ______________________________________________ > 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.
Martin writes: "there's really no reason for going beyond base R" I disagree. Lubridate is a fantastic package. I use it all the time. It makes working with dates really easy, as evidenced by John Kane's suggestion. I strongly recommend learning to work with it. The bottom line: as is often the case, there are many different ways to accomplish a task in R. On Thu, Dec 19, 2019 at 10:31 AM Martin Maechler <maechler at stat.math.ethz.ch> wrote:> >>>>> John Kane > >>>>> on Tue, 17 Dec 2019 20:28:17 -0500 writes: > > > library(lubridate) > > gs$dat1 <- mdy(gs$date) > > there's really no reason for going beyond base R. > > Using the proper format as per Patrick and Peter's advice > (below) is perfectly clear and actually > more robust (for the next data set etc) > than going via "good guessing" in extra packages. > > > On Tue, 17 Dec 2019 at 18:38, peter dalgaard <pdalgd at gmail.com> > wrote: > >> > >> ...and switch the order, and use %y for 2-digit years. > >> > >> > On 17 Dec 2019, at 23:57 , Patrick (Malone Quantitative) < > malone at malonequantitative.com> wrote: > >> > > >> > Try putting / instead of - in your format, to match the data. > >> > > >> > On Tue, Dec 17, 2019 at 5:52 PM Val <valkremk at gmail.com> wrote: > >> >> > >> >> Hi All, > >> >> > >> >> I wanted to to convert character date mm/dd/yy to YYYY-mm-dd > >> >> The sample data and my attempt is shown below > >> >> > >> >> gs <-read.table(text="ID date > >> >> A1 09/27/03 > >> >> A2 05/27/16 > >> >> A3 01/25/13 > >> >> A4 09/27/19",header=TRUE,stringsAsFactors=F) > >> >> > >> >> Desired output > >> >> ID date d1 > >> >> A1 09/27/03 2003-09-27 > >> >> A2 05/27/16 2016-05-27 > >> >> A3 01/25/13 2012-04-25 > >> >> A4 09/27/19 2019-09-27 > >> >> > >> >> I used this > >> >> gs$d1 = as.Date(as.character(gs$date), format = "%Y-%m-%d") > >> >> > >> >> but I got NA's. > >> >> > >> >> How do I get my desired result? > >> >> Thank you. > >> >> > >> >> ______________________________________________ > >> >> 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. > >> > > >> > ______________________________________________ > >> > 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. > >> > >> -- > >> Peter Dalgaard, Professor, > >> Center for Statistics, Copenhagen Business School > >> Solbjerg Plads 3, 2000 Frederiksberg, Denmark > >> Phone: (+45)38153501 > >> Office: A 4.23 > >> Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com > >> > >> ______________________________________________ > >> 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. > > > > > -- > > John Kane > > Kingston ON Canada > > > ______________________________________________ > > 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. > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Quoting Eric Berger <ericjberger at gmail.com>:> Martin writes: "there's really no reason for going beyond base R" > > I disagree. Lubridate is a fantastic package. I use it all the time. It > makes working with dates really easy, as evidenced by John Kane's > suggestion. I strongly recommend learning to work with it. > > The bottom line: as is often the case, there are many different ways to > accomplish a task in R.I apologise beforehand if this sparks an unnecessary discussion ;-) But the important point is: If you know the structure of the data you want to parse, then it is best to tell R (or any other language) this structure explicitly.> On Thu, Dec 19, 2019 at 10:31 AM Martin Maechler <maechler at stat.math.ethz.ch> > wrote: > >> >>>>> John Kane >> >>>>> on Tue, 17 Dec 2019 20:28:17 -0500 writes: >> >> > library(lubridate) >> > gs$dat1 <- mdy(gs$date) >> >> there's really no reason for going beyond base R. >> >> Using the proper format as per Patrick and Peter's advice >> (below) is perfectly clear and actually >> more robust (for the next data set etc) >> than going via "good guessing" in extra packages. >> >> > On Tue, 17 Dec 2019 at 18:38, peter dalgaard <pdalgd at gmail.com> >> wrote: >> >> >> >> ...and switch the order, and use %y for 2-digit years. >> >> >> >> > On 17 Dec 2019, at 23:57 , Patrick (Malone Quantitative) < >> malone at malonequantitative.com> wrote: >> >> > >> >> > Try putting / instead of - in your format, to match the data. >> >> > >> >> > On Tue, Dec 17, 2019 at 5:52 PM Val <valkremk at gmail.com> wrote: >> >> >> >> >> >> Hi All, >> >> >> >> >> >> I wanted to to convert character date mm/dd/yy to YYYY-mm-dd >> >> >> The sample data and my attempt is shown below >> >> >> >> >> >> gs <-read.table(text="ID date >> >> >> A1 09/27/03 >> >> >> A2 05/27/16 >> >> >> A3 01/25/13 >> >> >> A4 09/27/19",header=TRUE,stringsAsFactors=F) >> >> >> >> >> >> Desired output >> >> >> ID date d1 >> >> >> A1 09/27/03 2003-09-27 >> >> >> A2 05/27/16 2016-05-27 >> >> >> A3 01/25/13 2012-04-25 >> >> >> A4 09/27/19 2019-09-27 >> >> >> >> >> >> I used this >> >> >> gs$d1 = as.Date(as.character(gs$date), format = "%Y-%m-%d") >> >> >> >> >> >> but I got NA's. >> >> >> >> >> >> How do I get my desired result? >> >> >> Thank you. >> >> >> >> >> >> >> -- >> >> Peter Dalgaard, Professor, >> >> Center for Statistics, Copenhagen Business School >> >> Solbjerg Plads 3, 2000 Frederiksberg, Denmark >> >> Phone: (+45)38153501 >> >> Office: A 4.23 >> >> Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com >> >> >> >> > -- >> > John Kane >> > Kingston ON Canada-- Enrico Schumann Lucerne, Switzerland http://enricoschumann.net