[R] graphical behavior of a table of numbers

Jim Lemon drjimlemon at gmail.com
Sun Jan 29 06:05:15 CET 2017


Hi Richard,
I think there may be something amiss in the plot.table function. As
you note, changing the class of fr to array produces a more sensible
plot, as does Bert's "as.vector". Yet inside plot.table we find:

plot(x0, unclass(x), ...

and that should produce an array:

class(unclass(fr))
[1] "array"

The plot.table function looks like it should produce the plot you
want, but it doesn't. I think (therefore I am probably wrong) that a
1D table is handled in the same way as  multiD table rather than being
squeezed into a vector.

Jim


On Sun, Jan 29, 2017 at 11:19 AM, Bert Gunter <bgunter.4567 at gmail.com> wrote:
> Rich:
>
> Simpler: Just lose the "table" class.
>
> plot(as.numeric(names(fr)), as.vector(fr),  type="h",
>             xlab="Determinant", ylab="Frequency")
>
>
> However, I'm no less puzzled by the "strange" behavior than you.
>
> In addition, it's probably worth noting that xyplot in lattice (and no
> doubt ggplot,too) does not have this problem (as I'm sure you know):
>
> xyplot(fr ~ as.numeric(names(fr)),  type="h",
>             xlab="Determinant", ylab="Frequency")
>
>
> Cheers,
> Bert
> Bert Gunter
>
> "The trouble with having an open mind is that people keep coming along
> and sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>
>
> On Sat, Jan 28, 2017 at 3:03 PM, Richard M. Heiberger <rmh at temple.edu> wrote:
>> ## This example is from R-intro.pdf page 21 (R-3.3.2)
>>
>> d <- outer(0:9, 0:9)
>> fr <- table(outer(d, d, "-"))
>> plot(as.numeric(names(fr)), fr, type="h",
>>             xlab="Determinant", ylab="Frequency")
>> ## The y-axis tick marks are at c(-21,24,65).
>> ## This seems to be because class(fr) == "table"
>>
>> ## Switching the class to array gives the more appropriate
>> ## y-axis ticks at seq(0,500,100) .
>>
>> fr.array <- fr
>> class(fr.array) <- "array"
>> plot(as.numeric(names(fr)), fr.array, type="h",
>>             xlab="Determinant", ylab="Frequency")
>>
>>
>> ## I have a question and a recommendation.
>> ## Question:
>> ## Why are the y-axis ticks for the table defaulted to c(-21,24,65).
>> ##
>> ## Recommendation:
>> ## Changed the example on page 21 to show the ticks at seq(0,500,100)?
>>
>> ## Rich
>>
>> ______________________________________________
>> R-help at 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.
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list