R×forcats::fct_inseq 因子水準を数値順に並び替える

R言語のforcatsパッケージに含まれているfct_inseq()関数について解説します。この関数は、「数値として意味を持つ文字列の因子を、その数値の大きさ順に並べ替えたい」ときに使える関数です。通常、Rの因子はアルファベット順(辞書順)で因子水準(レベル)が自動定義されるため、文字として並べ替えると意図しない順番(例: 1, 10, 2)になってしまいます。これを解決してくれる関数です。

forcatsパッケージは、因子型(factor型)データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

fct_inseq()は、因子水準を数値順に並び替えるための関数です。

使い方


fct_inseq(f, ordered = NA)

引数

f

因子を指定します。

ordered = NA

出力を「順序付けられた因子」にするかどうかの論理値を指定します。
NAは既存の状態を保持します。

使用例

準備

あらかじめ、tidyverseパッケージまたはforcatsパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(forcats)

解説のために、次の因子を使用します。


f <-  fct(c("3", "2", "1"))

因子水準を数値順に並び替える

因子fに対して、因子水準を数値順に並び替えるには次のようにします。


fct_inseq(f)

[1] 3 2 1
Levels: 1 2 3

参考文献