[R] Questions about doing analysis based on time
John Kane
jrkrideau at inbox.com
Fri Jun 22 21:18:27 CEST 2012
Hi and welcome to the R-help list.
It would be much better for readers to get your data in a more easily used format.
There is a function called dput() that will output your data in a way that R can read easily.
We don't need to see all the data but perhaps hundred lines of it would be nice.
Try this where your file is called "mydata"
# just copy the line below and paste into R
head(mydata, 100)
# Now copy the output and paste it into your wordprocess as a reply to the list and we will have decent data to work with.
John Kane
Kingston ON Canada
> -----Original Message-----
> From: mikeedinger16 at gmail.com
> Sent: Fri, 22 Jun 2012 09:21:40 -0700 (PDT)
> To: r-help at r-project.org
> Subject: [R] Questions about doing analysis based on time
>
>
> I have a spreadsheet that I've read into R using read.csv. I've also
> attached it. It looks like this (except there are 1600+ entries):
>
>> Sunday
> SunDate SunTime SunScore
> 1 5/9/2010 0:00 0:00 127
> 2 6/12/2011 0:00 0:00 125
> 3 6/15/2008 0:04 0:04 98
> 4 8/3/2008 0:07 0:07 118
> 5 7/24/2011 0:07 0:07 122
> 6 5/25/2008 0:09 0:09 104
> 7 5/20/2012 0:11 0:11 124
> 8 10/18/2009 0:12 0:12 121
> 9 3/14/2010 0:12 0:12 117
> 10 1/2/2011 0:12 0:12 131
>
> SunDate and SunTime are both factors. In order to change the class to
> something I can work with, I use the following:
>
> Sunday$SunTime<-as.POSIXlt(SunTime,tz=””,”%H:%M”)
> Sunday$SunDate<-as.POSIXlt(SunDate,tz=””,”%m/%d/%Y %H:%M”)
>
> Now, the str(Sunday) command yields:
>
> 'data.frame': 1644 obs. of 3 variables:
> $ SunDate : POSIXlt, format: "2010-05-09 00:00:00" "2011-06-12 00:00:00"
> ...
> $ SunTime : POSIXlt, format: "2012-06-18 00:00:00" "2012-06-18 00:00:00"
> ...
> $ SunScore: int 127 125 98 118 122 104 124 121 117 131 ...
>
> I think all the elements in Sunday are correct for me to do what I want
> to
> do, but I don't know how to do them.
>
> 1. How can I get the mean score by hour? For example, I want the mean
> score
> of all the entries between 0:00 and 0:59, then 1:00 and 1:59, etc.
> 2. Is it possible for me to create a histogram by hour for each score
> over a
> certain point? For example, I want to make a histogram of all scores
> above
> 140 by the hour they occurred in. Is that possible?
>
> These last few might not be possibe (at least with R), but I'll ask
> anyway.
> I've got another data set similar to the one above, except it's got
> 12,000
> entries over four years. If I do the same commands as above to turn Date
> and Time into POSIXlt, is it possible for me to do the following:
>
> 1. The data was recorded at irregular intervals, and the difference
> between
> recorded points can range from anywhere between 1 hour and up to 7. Is
> it
> possible, when data isn't recorded between two points, to insert the
> hours
> that are unrecorded along with the average of what that hour is. This is
> sort of a pre-requisite for the next two.
> 2. If one of the entries has a Score above a certain point, is it
> possible
> to determine how long it was above that point and determine the mean for
> all
> the instances this occurred. For example:
> 01/01/11 01:00 AM
> 101
> 01/01/11 02:21 AM
> 142
> 01/01/11 03:36 AM
> 156
> 01/01/11 04:19 AM
> 130
> 01/01/11 05:12 AM
> 146
> 01/01/11 06:49 AM
> 116
> 01/01/11 07:09 AM
> 111
> There are two spans where it's above 140. The two and three o'clock
> hours,
> and the 5 o'clock hour. So the mean time would be 1.5 hours. Is it
> possible for R to do this over a much larger time period?
>
> 3. If a score reaches a certain point, is it possible for R to determine
> the average time between that and when the score reaches another point.
> For
> example:
> 01/01/11 01:01 AM
> 101
> 01/01/11 02:21 AM
> 121
> 01/01/11 03:14 AM
> 134
> 01/01/11 04:11 AM
> 149
> 01/01/11 05:05 AM
> 119
> 01/01/11 06:14 AM
> 121
> 01/01/11 07:19 AM
> 127
> 01/01/11 08:45 AM
> 134
> 01/01/11 09:11 AM
> 142
> 01/01/11 10:10 AM
> 131
> The score goes above 120 during the 2 AM hour and doesn't go above 140
> until
> the 4 AM hour. Then it goes above 120 again in the 6 AM hour, but
> doesn't
> go above 140 until the 9 AM hour. So the average time to go from 120 to
> 140
> is 2.5 hours. Can R does this over a much larger time frame?
>
> If anyone knows how to easily do any of these (particularly the first
> part),
> I'd greatly appreciate it.
>
> If some of these are possible, but aren't simple commands and require
> more
> in depth programming knowledge and time commitment, can someone at least
> tell me what sort of thing to look up?
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Questions-about-doing-analysis-based-on-time-tp4634230.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
.
____________________________________________________________
FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop!
More information about the R-help
mailing list