首页 > 解决方案 > 根据 1 个日期变量和 2 个字符串变量对数据集进行排序

问题描述

我希望能够按以下方式对数据集进行排序:字符串变量(升序)、日期变量(降序)和字符串变量(升序)。日期变量是一个 POSIXt 对象,我使用 (as.date()) 将其转换为日期。我能够根据 sting 变量(两者都按升序)进行排序,但无法根据日期进行排序,我收到一条错误消息,指出它不是向量或者我不能使用 -(减号)符号。

标签: rsortingdate

解决方案


你可以使用desc()dplyr

library(dplyr)
data <- expand.grid(date = seq.Date(Sys.Date() - days(10), Sys.Date(), "days"),
            string1 = diamonds$color %>% levels() %>% unique(),
            string2 = diamonds$cut %>% levels() %>% unique()
       )
data %>% 
  arrange(desc(date), string1, string2)

推荐阅读