【问题标题】:Sorting a vector by Month Name in r按 r 中的月份名称对向量进行排序
【发布时间】:2020-08-19 17:34:36
【问题描述】:

我有一个向量

monthData <- c("April", "June", "May", "August","July","September","December","November","October")

是否可以按月份名称的时间顺序对向量进行排序?

提前致谢

【问题讨论】:

    标签: r sorting vector


    【解决方案1】:

    你可以只使用内置的month.name

    monthData[order(match(monthData, month.name))]
    #> [1] "April"     "May"       "June"      "July"      "August"    "September"
    #> [7] "October"   "November"  "December"
    

    【讨论】:

      【解决方案2】:

      您可以将向量转换为分解向量:

      fact_monthData<-factor(monthData, levels=month.name)
      

      然后你可以通过以下方式对向量进行排序:

      sort(fact_monthData)
      

      【讨论】:

        【解决方案3】:

        您可以尝试对包含同一年的完整日期的另一个向量进行排序,其中包含各种月份组件:

        dates <- as.Date(paste0("2020-", monthData, "-01"), format="%Y-%b-%d")
        monthData[order(dates)]
        
        [1] "April"     "May"       "June"      "July"      "August"    "September"
        [7] "October"   "November"  "December" 
        

        数据:

        monthData <- c("April", "June", "May", "August", "July", "September", "December",
                       "November","October")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多