0

我正在尝试使用年份和月份信息对向量进行排序。我从 Date 类型变量中获取年份和月份。这是我要完成的示例:

example <- as.Date(c("2010-04-22", "2010-04-26", "2010-04-26",
  "2010-06-04", "2010-06-07", "2010-06-18", "2010-06-21",
  "2010-07-14", "2010-07-16", "2010-07-30", "2010-08-20"))

mes_ano <- as.character(as.yearmon(as.Date(example)))

mes_ano <- factor(mes_ano, levels = c(unique(mes_ano),
 "mai 2010", "set 2010", "out 2010", "nov 2010"))

现在我想按年和月对 mes_ano 进行排序,但我不知道如何。

实际上,我真正的目标是对关卡进行排序,因为我将使用 ggplot2 制作一个绘图并且我需要对关卡进行排序。但我认为,如果我只是问关于对向量进行排序,那会让我们的生活更轻松。然后我可以弄清楚如何对级别进行排序。

4

1 回答 1

1

我想您想使用 Potuguese 月份名称。我们走吧:

您的数据:

example <- as.Date(c("2010-04-22", "2010-04-26", "2010-04-26",
                     "2010-06-04", "2010-06-07", "2010-06-18", "2010-06-21",
                     "2010-07-14", "2010-07-16", "2010-07-30", "2010-08-20"))

我们需要一个具有这些名称的向量:

port_mon <- c("jan", "fev", "mar", "abr", "mai", "jun",
              "jul", "ago", "set", "out", "nov", "dez")

现在,对数据进行排序:

ex_sorted <- sort(example)

选择正确的葡萄牙语月份名称:

month_names <- port_mon[as.numeric(format(ex_sorted, "%m"))]

结合月份和年份:

mes_ano <- paste(month_names, format(ex_sorted, "%Y"))

创建因子:

mes_ano_fac <- factor(as.yearmon(ex_sorted), labels = unique(mes_ano)) 

绘图(出于说明目的在 y 轴上使用无意义的数据):

library(ggplot)

qplot(x = mes_ano_fac, y = seq(length(example)))

在此处输入图像描述

于 2012-09-26T08:25:20.290 回答