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

ポルトガル語の月名を使いたいと思います。さあ行こう:

あなたのデータ:

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 に答える