On 07/31/2010 03:12 AM, Andrew Noyes wrote:>
> Overall goal:
>
> I'd like to have a visual representation of when certain computer
applications are running over the course of a day (data will come from a SQL
query later, but I'm using a csv for now). My idea is to use a gantt chart,
but I'm running into issues with the start and end time. I'm wondering
if it's because I need to use hours instead of days as my unit of time.
>
> Problem #1
> I'm trying to use strptime to convert a datetime string (7/12/2010
5:30:05 PM) to POSIX so I can use it as a start/end time in a gantt chart. ( I
need to measure hours instead of days, so as.POSIXct/lt won't work for me.
I'd also like to retain date info so I can create weekly/monthly averages))
>
> When tested, I get this:
>
>> strptime("7/12/2010 5:30:05 PM", "%X")
> [1] NA
try this:
strptime("7/12/2010 5:30:05 PM", "%d/%m/%Y %I:%M:%S %p")
>
> When I delete the date, I get:
>
>> strptime("5:30:05 PM", "%X")
> [1] "2010-07-30 05:30:05"
%X only specifies time
>
> The full date string in the first example seems pretty unambiguous, so
I'm not sure why it is not being recognized and %X should show the full
datetime string - any suggestions?
>
> #2
> I will read the data from a csv file (and eventually, a database). A
secondary problem I've run into is converting the entire list of times -
will I need to create a loop to handle them all or is there a function similar
to tapply() that I can use?
>
Just pass the whole vector of dates as character strings - you'll get a
vector of date/time values.
Jim