If there are no time-of-day values in your data set the the Date type is
great. However, it can be messy if you work with both Date and POSIXt types
in the same analysis... I recommend sticking with one or the other.
The trunc.POSIXt function is more appropriate for getting POSIXt dates
than converting to character and back.
On February 2, 2019 9:03:31 AM PST, C W <tmrsg11 at gmail.com> wrote:
Also, I was able to extract date using
[1] "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12"
[6] "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12"
[11] "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12"
[16] "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-12" "2015-07-13"
[21] "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13"
[26] "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13"
[31] "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13"
[36] "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13" "2015-07-13"
class(as.Date(dat, "%m/%d/%y"))
class(strftime(strptime(dat, format="%m/%d/%y %H:%M"), format =
"%m/%d/%y"))
[1] "character"
If I want to date caluculation, would as.Date() be more desirable? Or
does
strftime() do the same thing?
On Sat, Feb 2, 2019 at 11:51 AM C W <tmrsg11 at gmail.com> wrote:
Thank you all very much, very helpful! :)
I'm just curious, what does strptime(), strftime(), as.POSIXlt.(),
as.POSIXct() stand for?
On Sat, Feb 2, 2019 at 10:41 AM Jeff Newmiller
<jdnewmil at dcn.davis.ca.us>
... and in general, you need to specify the time zone to avoid
In many cases this can be as simple as
Sys.setenv(TZ="GMT")
but it can be specific to your data set also.
On February 2, 2019 7:09:46 AM PST, Duncan Murdoch <
murdoch.duncan at gmail.com> wrote:
On 01/02/2019 10:45 p.m., C W wrote:
Dear R community,
I am working with dates. And I get the following error:
strftime(dat[20], format="%H:%M")
Error in as.POSIXlt.character(as.character(x), ...) :
character string is not in a standard unambiguous format
You are using the wrong function: strftime() formats a time object
a
character string. You want strptime() to convert character (or
in your case) to a time object.
But you need to give the format for the full string, not just the
at the end.
If you really were intending to extract times from dat, then you
strftime(strptime(dat, format="%m/%d/%y %H:%M"), format =
[1] "11:32" "11:42" "12:17" "12:31" "12:50" "14:10" "14:19"
"15:57" "16:00" "16:46" "16:51" "17:35" "17:59" "18:17" "19:07"
[18] "19:31" "21:21" "06:00" "06:20" "06:37" "06:40" "06:46"
"07:47" "07:50" "07:54" "08:11" "08:23" "08:31" "08:33" "08:43"
[35] "09:09" "09:30" "09:59" "10:01" "10:03" "10:05"
Duncan Murdoch