【问题标题】:In R output does not generate in sorted or preferred order在 R 中,输出不会按排序或首选顺序生成
【发布时间】:2015-05-11 06:24:48
【问题描述】:

我有一个包含两个不同变量的数据集。日期列和人口计数。我使用以下代码将 .csv 中的日期转换为 R 识别的日期,然后对我的数据集进行排序。此代码有效,并且数据按降序排序。但是,无论排序如何,输出都会从图表顶部的最近日期开始。我更喜欢相反的日期,从最旧的日期开始到最新的日期。我知道这听起来像一个降序,这就是代码中的内容,但如果没有此代码,则会生成相同的顺序(2015 年一直到最旧的日期)。如何使输出与更改的数据集顺序相匹配?或者,如何根据此输出反转顺序?谢谢!

library(ggplot2)

fp$Date1 <- as.Date(fp$Date, "%m/%d/%Y"); fp$Date1 

fp<-fp[order(as.Date(fp$Date1, format="%d/%m/%Y"), decreasing=TRUE),]

ggplot(data = fp[1:9,]) +
  geom_point(aes(x = Date1, y = WW, 
  size=20, col=Date1)) + 
  labs(x="Date", y="WW")+  
  coord_flip() +
 theme_bw()

转换为 Date1 后,日期列的显示方式如下:

   Date1
1  2013-01-31
2  2013-04-30
3  2013-07-31
4  2013-10-31
5  2014-01-31
6  2014-04-30
7  2014-07-31
8  2014-10-31
9  2015-01-31

【问题讨论】:

    标签: r sorting date


    【解决方案1】:

    你可以像这样使用反向功能:

     fp<-fp[rev(order(as.Date(fp$Date1, format="%d/%m/%Y"))),]
    

    解释: 默认情况下 order 函数会对结果进行递增排序,所以当你在应用 order 函数后结合 rev 函数时,它会对结果进行修正。

    【讨论】:

    • 谢谢你,拉米。这可以改变数据集的顺序。但是,情节顺序没有改变,这是我一直在努力解决的问题。得到数据集顺序后,输出似乎没有变化。
    猜你喜欢
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    相关资源
    最近更新 更多