R言語のforcatsパッケージに含まれているfct_shift()関数について解説します。この関数は、「因子型の因子水準(レベル)の順番を、要素数を指定して前後に『循環(ローテーション)』させたい」ときに使える関数です。例えば、初期設定の「月曜日〜日曜日」を「日曜日〜土曜日」にずらすようなときに使えます。
forcatsパッケージは、因子型(factor型)データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
fct_shift()は、因子水準を左または右にシフトして末尾で折り返すための関数です。fct_shift()は、順序付けられた因子のレベルが実際には循環的であり、開始点の規則が異なる場合に便利です。
使い方
fct_shift(f, n = 1L)
引数
f
因子を指定します。
n = 1L
正の値は左にシフトし、負の値は右にシフトします。
使用例
準備
あらかじめ、tidyverseパッケージまたはforcatsパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(forcats)
解説のために、次の因子を使用します。
f <- fct(c("a", "b", "c"))
f
[1] a b c
Levels: a b c
因子水準を左にシフトする
因子水準を左にシフトして末尾で折り返すには次のようにします。
fct_shift(f, 1)
[1] a b c
Levels: b c a