【问题标题】:R boxplot ordering X axis by dateR箱线图按日期排序X轴
【发布时间】:2014-12-12 11:29:23
【问题描述】:

我有一个这样的数据集:

temp date 14.09 Aug-13 16.9 Aug-13 16.93 Aug-13 17.7 Sep-13 17.79 Sep-13 17.94 Sep-13 17.04 Oct-13 16.98 Oct-13 16.95 Oct-13 11.9 Nov-13 11.97 Nov-13 12.04 Nov-13

等等至少三年的价值(从 1 月 12 日到 12 月 14 日).... 我想创建一个箱线图,其中 x 轴(日期)不是按字母顺序排列,而是按月份,以正确的顺序排列(jan feb mar apr may....)。 我知道我可以创建一个向量并手动排序我的日期,但由于数据集很大(至少 3 年的值),我想知道是否有更优雅的方法。

谢谢, 卢卡

【问题讨论】:

    标签: r boxplot


    【解决方案1】:

    试试

    library(zoo)
    df2 <- df1[order(as.yearmon(df1$date, '%b-%y')),]
    boxplot(temp~ factor(date, levels=unique(date)), df2)
    

    数据

    df1 <- structure(list(temp = c(11.9, 37.7, 17.7, 18.04, 16.93, 25.95, 
    12.04, 17.94, 16.9, 17.79, 24.93, 26.9, 15.94, 17.04, 11.97, 
    13.97, 15.09, 17.79, 19.98, 12.9, 14.09, 16.95, 16.98, 14.04), 
    date = c("Nov-13", "Sep-15", "Sep-13", "Oct-14", "Aug-13", 
    "Oct-14", "Nov-13", "Sep-13", "Aug-13", "Sep-13", "Aug-15", 
    "Aug-14", "Sep-15", "Oct-13", "Nov-13", "Nov-14", "Aug-14", 
    "Sep-15", "Oct-15", "Nov-14", "Aug-13", "Oct-13", "Oct-13", 
    "Nov-14")), .Names = c("temp", "date"), row.names = c(NA, 
    -24L), class = "data.frame")
    

    【讨论】:

    • 我收到此错误:sort.list(y) 中的错误:'x' 必须是 'sort.list' 的原子 您是否在列表中调用了 'sort'?
    • @luca 无法使用此示例数据集重现错误。我正在使用R 3.1.2
    • 相同...R 版本 3.1.2 (2014-10-31) -- “南瓜头盔”。我可以订购数据集(使用您的代码)。但后来尝试箱形图我得到了错误......
    • @luca 你是不是在使用我发布的dput 数据集时遇到错误。
    • 解决了!谢谢!我收到错误是因为我正在使用另一个库来生成箱线图(使用命令 bplot)。但是完全复制你的代码解决了我的问题!谢谢!
    猜你喜欢
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2020-12-02
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    相关资源
    最近更新 更多