データフレームDF
は、月の完全な英語名を使用する文字列としてMonth
の列と、数値としてのYear
という列を持ちます。R:データフレームを「年」と「月」の2つの列で並べ替え
Year Month {several xi}
2016 April {numeric}
xiのいくつかを時系列としてプロットする必要があります。このデータフレームを最も早い月(2015年1月)から現在まで並べ替える最も効率的な方法は何ですか? as.Date
を使用して「月」を日付クラスのオブジェクトに変換しようとする私の試みは、うまくいきません。彼らはアルファベット順にソートされて戻ってくる。
これはノーブの質問ですが、まあまあの悪運で謝罪私はRキャリアで非常に頻繁に日付クラスのオブジェクトで作業する必要はありませんでしたので、私が見ている様々な類似の質問私を助けることができます。
'month.name'は月が正しい順序で組み込まれた定数です。正しい順序で要素を作成するには、単に 'df $ Month = factor(df $ Month、levels = month.name)'を実行します。それで 'df [order(df $ Year、df $ Month)]]を実行することができます。 – Gregor
日にちは 'Date'にすることはできません。その日は' 1'を使うことができます。ほとんどの場合、 'zoo'パッケージの' yearmon'クラスを使うことができます(この質問のように)(http://stackoverflow.com/q/6242955/903061)、 '%B'を使う必要があります省略されていない月名があるので、 '%m'の代わりに。他の日付部分のワイルドカードについては '?strptime'を参照してください。 – Gregor