【问题标题】:subsetting and multiple plotting子集和多重绘图
【发布时间】:2015-11-26 22:38:51
【问题描述】:

我得到了一个大型数据文件(58 列,27,000 行),我尝试按一个变量(年份 - 30 个级别)对其进行子集化,然后为 30 个类别中的每一个类别绘制另一个变量(日历)的直方图。我尝试了几个选项。

首先我尝试了“应用”功能,将“hist”定义为我的乐趣;

    >tapply(calenday,Year,hist(calenday,main=unique(Year)))

但这只给我留下了一张图表。

然后我尝试循环它。我尝试了几种方法对我的数据框进行子集化,然后在直方图函数上应用 for 循环,但它不起作用。我最多只有一张图表。

然后我尝试了 lattice condiotonal "histogram" 命令:

     >histogram(~calenday|factor(Year)) 

但是30张图叠加在一起有点太多了。

所以我尝试循环它:

     for (i in 1984:2013) {   
         histogram(~calenday | Year, subset=(Year==i), br=28,    
         main=paste("plot of", i), type="count")}

虽然没有给出错误消息,但还是没有通过。 我在某处读到,一旦将其编写为脚本函数,绘图就会出现问题,但我不知道如何解决它(没有解决方案有效)。

最后,我只是尝试了一下:

    tapply(calenday,Year,hist)

这确实有效,但生成的图表非常粗糙,非常基本,标题为数字,间隔太宽等。

有什么建议吗? 谢谢!

【问题讨论】:

    标签: r histogram subset


    【解决方案1】:

    在不知道您的数据和情节的情况下,这只是我的猜测。

    但是,我会使用 ggplot,它是出色的 facet_grid()facet_wrap() 功能。

    查看此文档,看看图表是否符合您的需求。

    http://docs.ggplot2.org/0.9.3.1/facet_grid.html

    祝你好运

    【讨论】:

    • 谢谢乔恩!我会看看它。我是 R 新手,认为这应该是一项简单的任务......
    • 希望并且可能很简单。尝试为您的问题创建一个可重现的迷你版本,其中一些数据具有相同的结构,这样会更容易进行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多