【问题标题】:Using Table to Graph使用表格绘制图表
【发布时间】:2011-12-28 22:20:47
【问题描述】:

我有以下data.frame:

sample <- data.frame(day=c(1,2,5,10,12,12,14))
sample.table <- as.data.frame(table(sample$day))

现在我想做的是根据天数绘制日期,如下所示:

require(ggplot2)
qplot(Var1, Freq, data=sample.table)

我意识到Var1 真的真的很想成为一个因素。这在几天内可以正常工作,但是当天数变得更大时会很糟糕,因为图表变得不可读。如果我将其更改为数字或整数,那么它不会在 x 轴上绘制天数,而是绘制天数,例如1,2,3,4,5,6,7。

如果我有 5000 天,我该怎么做才能让它仍然清晰可见?

【问题讨论】:

    标签: r


    【解决方案1】:

    这是因为当您使用table 时,您会得到一个带有names(字符)的向量,而当您转换为data.frame 时,这些向量会转换为具有默认设置的因子。

    您可以通过使用原始数据并获取ggplot2 来计算数据来避免这种情况:

    qplot(day, ..count.., data=sample, stat="bin", binwidth=1)
    

    或者只使用直方图,

    qplot(day, data=sample, geom="histogram", binwidth=1)
    

    请注意,您可以调整 binwidth 参数以计数更大的组。

    【讨论】:

      【解决方案2】:

      为此想出了一个技巧。

      as.integer(as.character(sample$day))
      

      【讨论】:

        猜你喜欢
        • 2019-05-03
        • 2018-06-20
        • 2012-06-08
        • 2020-02-17
        • 2011-07-06
        • 1970-01-01
        • 1970-01-01
        • 2012-05-28
        • 2015-06-08
        相关资源
        最近更新 更多