我今天在 engadget 上看到了尼尔森制作的一个有趣的图表:
http://www.engadget.com/2011/07/28/nielsen-android-leads-us-smartphone-market-with-39-percent-shar/
如果可能的话,我希望有人能复制它并展示 R 代码。基本包或 ggplot2 会很棒。
我喜欢盒子是成比例的,这是一个关键特征:)
谢谢!
最佳答案
您可以在名为“mosaic chart”的 R 中找到多个实现。例如:
require("vcd")
data(HairEyeColor)
mosaic(HairEyeColor, shade = TRUE)
Se 一些示例,例如quickR , 但搜索 R graph gallery也是一个不错的选择。
在 ggplot2 中,您可以在 learnr's blog 上找到示例.
我还在 ggplot2 中做了一些调整,请在下面找到附件图。它是匈牙利语的,但如果您有兴趣,我可以清理代码并在某处发布。
更新:我已经根据评论搜索了我的旧脚本并将其上传到pastebin .抱歉,没有代码清理而且它非常困惑,因为我不得不从 SPSS 数据文件中弥补大量报告,但我希望你能使用它。用法很简单:加载所有函数(例如:用source(...)
函数运行R中的所有行),你可以通过指定两个变量名生成任意数据框的马赛克图在 ggMosaicChart()
的参数中。该图将保存到工作目录中的 png 文件(在图的 R 中不容易调整大小,因为需要进行大量手动调整以很好地排列文本)。
我已将字符串翻译成英文,mtcars
数据集的一个基本示例(包含在上面的代码中):
每个单元格都会显示计数、行百分比和列百分比以及 Pearson 残差。
关于r - 如何从尼尔森输出图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868799/