On 10/30/2015 11:17 AM, Mark Leeds wrote:
Daniel: Just to complete my solution, here's the code for doing the
mean. Didn't expect this to take 3 emails !!! Have a good weekend.

temp <- tapply(f$value, f$justtimes, mean)
finalDF <- data.frame(chrontimes = times(rownames(temp)), values = temp)
plot(values ~ chrontimes, data = finalDF)





On Fri, Oct 30, 2015 at 2:09 PM, Mark Leeds <marklee...@gmail.com
<mailto:marklee...@gmail.com>> wrote:

    Hi Daniel: I forgot that you wanted the mean so my code doesn't do
    exactly what you asked for but you can use jim's code for that part.
    His substring approach is also good but maybe
    the chron approach is more general ? Sorry for confusion.




    On Fri, Oct 30, 2015 at 2:07 PM, Mark Leeds <marklee...@gmail.com
    <mailto:marklee...@gmail.com>> wrote:

        Hi Daniel:  Assuming that you don't have to deal with time
        zones, then you can use a chron object which has a seperate
        field for the time.  See below for how to convert to just times.
        I sent privately in order to not keep others from sending since
        there may  be other ways. But, if you're okay with just this,
        then you can just send to list to close out thread. No credit
        needed. All the best.


        library(chron)

        f <- structure(list(date = structure(1:8, .Label = c("2015-10-29
        00:50:00",
        "2015-10-29 09:30:00", "2015-10-29 21:10:00", "2015-10-30 00:50:00",
        "2015-10-30 09:30:00", "2015-10-30 21:10:00", "2015-10-31 00:50:00",
        "2015-10-31 10:30:00"), class = "factor"), value = c(88L, 17L,
        80L, 28L, 23L, 39L, 82L, 79L)), .Names = c("date", "value"),
        row.names = c(NA,
        -8L), class = "data.frame")

        print(f)

        f$dateandtimes <-
        as.chron(as.POSIXct(as.character(f$date),format = "%Y-%m-%d
        %H:%M:%S"))
        print(f)

        f$justtimes <- times(as.numeric(f$dateandtimes) %% 1)
        print(f)

        plot(value ~ justtimes, data = f)

        On Fri, Oct 30, 2015 at 1:35 PM, Daniel Nordlund
        <djnordl...@frontier.com <mailto:djnordl...@frontier.com>> wrote:

            I have a data frame with date/times represented as
            charaacter strings and and a value at that date/time.  I
            want to get the mean value for each time of day, across
            days, and then plot time of day on the x-axis and means on
            the y-axis.  R doesn't appear to have a built-in time of day
            time type (independent of a date), unless I have missed
            something. What is the best way to create a time variable so
            that I can aggregate and plot by time of day, with time
            labelled in HH:MM format.  My current approach is to convert
            all date/times to the same date.  I can then manage the rest
            of what I want with ggplot2.  But I am  wondering if there
            is an easier/better way to do deal with time of day.

            Here is a sample data frame.

            df <- structure(list(date = structure(1:8, .Label =
            c("2015-10-29 00:50:00",
            "2015-10-29 09:30:00", "2015-10-29 21:10:00", "2015-10-30
            00:50:00",
            "2015-10-30 09:30:00", "2015-10-30 21:10:00", "2015-10-31
            00:50:00",
            "2015-10-31 10:30:00"), class = "factor"), value = c(88L, 17L,
            80L, 28L, 23L, 39L, 82L, 79L)), .Names = c("date", "value"),
            row.names = c(NA,
            -8L), class = "data.frame")


            Any suggestions appreciated.

            Dan

            --
            Daniel Nordlund
            Bothell, WA  USA

            ______________________________________________
            R-help@r-project.org <mailto:R-help@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.





Thanks to all who responded (both on and off list). Several useful suggestions were presented. It looks like using the chron package may get me what I want, but I will play with all the solutions to see what works best for me.


Dan

--
Daniel Nordlund
Bothell, WA  USA

______________________________________________
R-help@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.

Reply via email to