histogram() with "Date" class?

View: New views
5 Messages — Rating Filter:   Alert me  

histogram() with "Date" class?

by Ola Caster :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear help list,

Is it possible to draw lattice histograms (i.e. use the histogram() function
and not the hist() function) with objects of class "Date"?

I've tried solutions like

histogram(~date, data=my.data, breaks="months")

but it doesn't seem to work.

Any suggestions are welcome.

Many thanks
Ola Caster

        [[alternative HTML version deleted]]

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

Re: histogram() with "Date" class?

by Deepayan Sarkar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 5/8/08, Ola Caster <ola.caster@...> wrote:
> Dear help list,
>
>  Is it possible to draw lattice histograms (i.e. use the histogram() function
>  and not the hist() function) with objects of class "Date"?

Sort of. The default calculation of 'breaks' doesn't work, so

histogram(~date, data=my.data)

will currently fail (I will fix this in the next update). However,

histogram(~date, data=my.data, breaks = 10)
histogram(~date, data=my.data, breaks = "fd")

etc., should work. The help page for histogram is somewhat ambiguous; it says:

  breaks:

          [...]

          Other valid values
          of 'breaks' are those of the 'breaks' argument in 'hist'.
          This allows specification of 'breaks' as an integer giving
          the number of bins (similar to 'nint'), as a character string
          denoting a method, and as a function.

What is meant here is that valid values of breaks in 'hist.default'
will work, not those for any other methods. In particular, breaks =
"months" will not work.

-Deepayan

>  I've tried solutions like
>
>  histogram(~date, data=my.data, breaks="months")
>
>  but it doesn't seem to work.
>
>  Any suggestions are welcome.
>
>  Many thanks
>  Ola Caster

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

Re: histogram() with "Date" class?

by Ola Caster :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks a lot Deepayan. Could you please inform me what update are you
referring to, and give me some very vague sense when it might happen (within
weeks, months, or years)?

Many thanks
Ola

2008/5/8 Deepayan Sarkar <deepayan.sarkar@...>:

> On 5/8/08, Ola Caster <ola.caster@...> wrote:
> > Dear help list,
> >
> >  Is it possible to draw lattice histograms (i.e. use the histogram()
> function
> >  and not the hist() function) with objects of class "Date"?
>
> Sort of. The default calculation of 'breaks' doesn't work, so
>
> histogram(~date, data=my.data)
>
> will currently fail (I will fix this in the next update). However,
>
> histogram(~date, data=my.data, breaks = 10)
> histogram(~date, data=my.data, breaks = "fd")
>
> etc., should work. The help page for histogram is somewhat ambiguous; it
> says:
>
>  breaks:
>
>          [...]
>
>          Other valid values
>          of 'breaks' are those of the 'breaks' argument in 'hist'.
>          This allows specification of 'breaks' as an integer giving
>          the number of bins (similar to 'nint'), as a character string
>          denoting a method, and as a function.
>
> What is meant here is that valid values of breaks in 'hist.default'
> will work, not those for any other methods. In particular, breaks =
> "months" will not work.
>
> -Deepayan
>
> >  I've tried solutions like
> >
> >  histogram(~date, data=my.data, breaks="months")
> >
> >  but it doesn't seem to work.
> >
> >  Any suggestions are welcome.
> >
> >  Many thanks
> >  Ola Caster
>

        [[alternative HTML version deleted]]

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

Re: histogram() with "Date" class?

by Ola Caster :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sorry for spamming the list...


I noticed that if you first produce a date histogram with the hist()
function, like this:

basic.histogram <- hist(my.data$date, breaks = "months", plot = FALSE)

and then try to transfer the breaks from that histogram to a lattice
equivalent, like this:

histogram(~date, data=my.data, breaks=basic.histogram$breaks)

then I get a histogram that looks exactly like the original one, except the
bins are not placed correctly on the x-axis. In my case they were all
shifted almost a year to the right. Does anyone know why this happened and
if there is a way to deal with it?

Many thanks
Ola




2008/5/9 Ola Caster <ola.caster@...>:

>
>
> Thanks a lot Deepayan. Could you please inform me what update are you
> referring to, and give me some very vague sense when it might happen (within
> weeks, months, or years)?
>
> Many thanks
> Ola
>
> 2008/5/8 Deepayan Sarkar <deepayan.sarkar@...>:
>
>  On 5/8/08, Ola Caster <ola.caster@...> wrote:
>> > Dear help list,
>> >
>> >  Is it possible to draw lattice histograms (i.e. use the histogram()
>> function
>> >  and not the hist() function) with objects of class "Date"?
>>
>> Sort of. The default calculation of 'breaks' doesn't work, so
>>
>> histogram(~date, data=my.data)
>>
>> will currently fail (I will fix this in the next update). However,
>>
>> histogram(~date, data=my.data, breaks = 10)
>> histogram(~date, data=my.data, breaks = "fd")
>>
>> etc., should work. The help page for histogram is somewhat ambiguous; it
>> says:
>>
>>  breaks:
>>
>>          [...]
>>
>>          Other valid values
>>          of 'breaks' are those of the 'breaks' argument in 'hist'.
>>          This allows specification of 'breaks' as an integer giving
>>          the number of bins (similar to 'nint'), as a character string
>>          denoting a method, and as a function.
>>
>> What is meant here is that valid values of breaks in 'hist.default'
>> will work, not those for any other methods. In particular, breaks =
>> "months" will not work.
>>
>> -Deepayan
>>
>> >  I've tried solutions like
>> >
>> >  histogram(~date, data=my.data, breaks="months")
>> >
>> >  but it doesn't seem to work.
>> >
>> >  Any suggestions are welcome.
>> >
>> >  Many thanks
>> >  Ola Caster
>>
>
>

        [[alternative HTML version deleted]]

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

Re: histogram() with "Date" class?

by Deepayan Sarkar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 5/9/08, Ola Caster <ola.caster@...> wrote:

>
> Sorry for spamming the list...
>
>
> I noticed that if you first produce a date histogram with the hist()
> function, like this:
>
> basic.histogram <- hist(my.data$date, breaks = "months", plot = FALSE)
>
> and then try to transfer the breaks from that histogram to a lattice
> equivalent, like this:
>
> histogram(~date, data=my.data, breaks=basic.histogram$breaks)
>
> then I get a histogram that looks exactly like the original one, except the
> bins are not placed correctly on the x-axis. In my case they were all
> shifted almost a year to the right. Does anyone know why this happened and
> if there is a way to deal with it?

I can't comment on what you see unless you give us a reproducible
example, but I only see a shift in the label positions (so the labels
are different, but still accurate in both cases). For example,

foo <- Sys.Date() + 10 * rnorm(100)
bar <- hist(foo, breaks = "months")
dev.new()
histogram(~foo, breaks = bar$breaks,
          scales = list(x = list(format = "%b %d")))

-Deepayan

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