[R] date

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Thu Dec 19 15:34:13 CET 2019


I agree that having convenience functions can be in the spirit of R, but I find that lubridate puts the cart before the horse so I avoid it. Specifically, the conceptual sequence

- convert character to timestamp in GMT
- "fix" erroneous timestamps to correct time zone

more inefficient and error-prone than

- convert character to timestamp specifying correct timezone

or

- specify default timezone
- convert character to timestamp using default timezone

but apparently others disagree so we have a whole sub-culture working with GMT by default.

On December 19, 2019 4:45:41 AM PST, Eric Berger <ericjberger using gmail.com> wrote:
>[ ... taking the bait regarding the "unnecessary discussion" ... ]
>
>The "Fortune nomination" that Bert sent includes the phrase
>
>"...then it is best to tell R ..."
>
>What metric is being used to do the ranking to get the "best"? If the
>metric is related to "providing the most unambiguous information to R"
>then I agree that providing the structure explicitly is best.
>However, often what is "best" is to minimize programmer time. With
>lubridate, I know that providing the clue 'ymd' is enough to have it
>perform the date conversion correctly. That is minimal effort on my
>part,
>which gives it a top ranking from my point of view.
>
>Also, to broaden this "unnecessary discussion" I would argue that the
>lubridate package may even be more "in the spirit of R" than what is
>being
>proposed with the explicit structural information. Clearly R is far
>from
>being a strongly typed language. If you really want to provide explicit
>structural information maybe you would be better off with a language
>such
>as C++. :-)
>
>
>
>
>
>On Thu, Dec 19, 2019 at 2:30 PM Bert Gunter <bgunter.4567 using gmail.com>
>wrote:
>
>>
>>
>> "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. "
>>
>> Fortune nomination!
>>
>> -- Bert
>>
>>
>>
>>
>>
>>
>> Thu, Dec 19, 2019, 2:49 AM Enrico Schumann <es using enricoschumann.net>
>wrote:
>>
>>>
>>> Quoting Eric Berger <ericjberger using 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 using 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 using 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 using 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 using 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 using cbs.dk  Priv: PDalgd using gmail.com
>>> >>     >>
>>> >>
>>> >>     > --
>>> >>     > John Kane
>>> >>     > Kingston ON Canada
>>>
>>>
>>>
>>> --
>>> Enrico Schumann
>>> Lucerne, Switzerland
>>> http://enricoschumann.net
>>>
>>> ______________________________________________
>>> 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.
>>>
>>>
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>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.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list