概要
dplyr
パッケージに含まれるselect()とrename()
のスコープ付き関数は、列の選択(取得・並べ替え・改称)を簡潔なコードで記述できる関数です。
関連ページ
関数
# 列の選択(取得・並べ替え・改称)を行う
select_all(.tbl, .funs = list(), ...)
select_at(.tbl, .vars, .funs = list(), ...)
select_if(.tbl, .predicate, .funs = list(), ...)
# 列の改称のみを行う
rename_all(.tbl, .funs = list(), ...)
rename_at(.tbl, .vars, .funs = list(), ...)
rename_if(.tbl, .predicate, .funs = list(), ...)
引数 | 指定 | 説明 |
---|---|---|
.tbl | 必須 | データフレーム |
.funs | 任意 | 列名を変更したい場合は関数を指定する |
.vars | 必須 | select_at(), rename_at() で使用する引数対象となる列を変数または文字列で指定する |
.predicate | 必須 | select_if(), rename_if() で使用する引数対象となる列を返り値がBool型の関数で指定する |
使い方
スコープ付き関数の基本的な使い方は専用の解説ページを参照してください。
解説用データフレーム
df <- tibble(
x1 = c('A', 'B', 'C'),
x2 = c(1, 2, 3),
)
> df
# A tibble: 3 x 2
x1 x2
<chr> <dbl>
1 A 1
2 B 2
3 C 3
1.列の取得と改称
# 'x'を'y'に置き換える関数
x2y <- function(str) str_replace(str, 'x', 'y')
# 数値型の列を取得して、列名の'x'を'y'に置き換える
select_if(df, .predicate = is.numeric, .funs = x2y)
# A tibble: 3 x 1
y2
<dbl>
1 1
2 2
3 3
2.列の改称のみ
# 数値型の列の列名の'x'を'y'に置き換える
rename_if(df, .predicate = is.numeric, .funs = x2y)
# A tibble: 3 x 2
x1 y2
<chr> <dbl>
1 A 1
2 B 2
3 C 3