[R] Creating "%d/%m/%Y %H:%M:%S" format from separate date andtimecolumns
Jeff Newmiller
jdnewmil at dcn.davis.CA.us
Fri Apr 12 10:09:28 CEST 2013
avoid using F, spell it out
Use an appropriate TZ... e.g. use Sys.setenv( TZ="Etc/GMT+5" ) before converting if your time is local standard time year round
Use difftime to add to time values for consistent results
endt <- startt + as.difftime( data2$V6, units="secs" )
Use the str function to explore your data
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Cat Cowie <cat.e.cowie at gmail.com> wrote:
>Hi Gerrit,
>
>Thanks for your quick reply - this, in combination with reversing the
>date as it is shown in my data, worked perfectly.
>
>startt<- strptime((paste(data2$V4, data2$V5)), "%Y-%m-%d %H:%M:%S")
>
>Apologies for the silly question it seems, but you've saved me a lot
>of time. Always learning....
>Thanks, Cat
>
>
>
>On 12 April 2013 15:00, Gerrit Eichner
><Gerrit.Eichner at math.uni-giessen.de> wrote:
>> Hello, Cat,
>>
>> see inline below.
>>
>> Hth -- Gerrit
>>
>>
>> On Fri, 12 Apr 2013, Cat Cowie wrote:
>>
>>> Hi R forum,
>>>
>>> Each row of my data (below) show a new contact event between
>animals.
>>> In order to ultimately look at the patterns of intervals between
>>> contacts, I need to calculate a contact end time. The contact starts
>>> at the date and time shown in V4 and V5, and lasts for the duration
>>> shown IN SECONDS in V6:
>>>
>>>
>>>> data2<- read.csv(file=file.choose(), header=F, sep=" ")
>>>> head(data2)
>>>
>>> V1 V2 V3 V4 V5 V6
>>> 1 3 PO4 CO1 2011-04-29 07:27:21 28
>>> 2 3 PO4 CO1 2011-04-24 05:57:39 20
>>> 3 3 PO4 CO1 2011-04-14 10:29:49 4
>>> 4 3 PO4 CO1 2011-04-16 07:27:31 63
>>> 5 3 PO4 CO1 2011-04-18 15:46:20 1
>>> 6 3 PO4 CO1 2011-04-18 15:45:57 1
>>>
>>> To start with I have tried to make the start data and time into one
>new
>>> column:
>>>
>>> startt<- strptime((paste(data2$V4, data2$V5)), "%d/%m/%Y %H:%M:%S")
>>
>>
>> Shouldn't you use "-" instead of "/" as it is used in data$V4?
>>
>>
>>
>>> This executes without any warnings, but returns a full column of NA
>>> values. It would be great to fix this, and then to know how to
>>> correctly add column V6 as seconds to the resulting column.
>>>
>>>
>>> The problem is further exacerbated by an error with dput() with this
>>> data. It's a large dataset of over 9000 rows, and when I call:
>>>
>>> dput(head(data2,50))
>>>
>>> It returns dput(), but for all the data (i.e. not the first 50
>rows).
>>> This of course does not fit on the workstation screen and therefore
>I
>>> cannot find out what class it has assigned to any of the data. The
>>> times appear sorted, suggesting they are being classed as a factor?
>>> Sorry I can't provide dput() data!
>>>
>>> Thanks, Cat
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> 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
>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