Hi Naresh

If you want to make a graphic of the table, with the frequencies printed in the cells try a mosaic plot from the vcd package

library(vcd)
mosaic(HairEyeColor[,,1], shade = TRUE, legend=FALSE, labeling=labeling_values)

or to make cell sizes proportional to expected frequencies,

mosaic(HairEyeColor[,,1], shade = TRUE, legend=FALSE, labeling=labeling_values, type="expected")

You can also use ggplot2::geom_tile() for something that is a more direct version of a table or a heatmap, with shaded backgrounds, and geom_text()
to print the values.

From an non-reproducible example of mine, where cells are filled
with a unidimensional range of colors from white to blue, and
the text is printed in black, until the background gets too dark:

p <- ggplot(ht2, aes(decade, variable)) +
      geom_tile(aes(fill = Freq), color = "white") +
      scale_fill_gradient(low = "white", high = "blue") +
      geom_text(aes(fill = Freq, label = Freq),
                colour = ifelse(ht2$Freq > 40, "white", "black")) +
      labs(title = "Keyword Occurrences by Topic and Year",
           x = "Decade", y = "Keyword")

In contrast to what someone else expressed, for some purposes --- where you want to show the _pattern_ of values in a table directly, colored backgrounds, if done judiciously can be extremely useful to show the viewer what is important.

-Michael

On 5/28/2016 9:10 AM, Naresh Gurbuxani wrote:
I want to print a table where table elements are colored according to the 
frequency of the bin.  For example, consider below table.

Function values that I would like to print in the table

                            x.eq.minus1  x.eq.zero  x.eq.plus1
y.eq.minus1             -20                 10            -5
y.eq.zero                 -10                  6             22
y.eq.plus1                -8                    10           -14


Frequency table to color the above table

                            x.eq.minus1  x.eq.zero  x.eq.plus1
y.eq.minus1             0.05             0.15           0.1
y.eq.zero                 0.07             0.3           0.08
y.eq.plus1                0.05            0.15           0.05


In the resulting table, the element for (x = 0, y = 0) will be 6.  This will be 
printed with a dark color background.  The element for (x = -1, y = -1) will be 
-20.  This will be printed with a light color background.  And so on.

Thanks for your help,
Naresh



--
Michael Friendly     Email: friendly AT yorku DOT ca
Professor, Psychology Dept. & Chair, Quantitative Methods
York University      Voice: 416 736-2100 x66249 Fax: 416 736-5814
4700 Keele Street    Web:   http://www.datavis.ca
Toronto, ONT  M3J 1P3 CANADA

______________________________________________
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