概要
dplyr
パッケージに含まれるdistinct()
のスコープ付き関数は、行列の一意化を簡潔なコードで記述できる関数です。
関連ページ
関数
distinct_all(.tbl, .funs = list(), .keep_all = FALSE)
distinct_at(.tbl, .vars, .funs = list(), .keep_all = FALSE)
distinct_if(.tbl, .predicate, .funs = list(), .keep_all = FALSE)
引数 | 指定 | 説明 |
---|---|---|
.tbl | 必須 | データフレーム |
.funs | 任意 | 値を加工する関数を指定する |
.vars | 必須 | mutate_at() で使用する引数対象となる列を変数または文字列で指定する |
.predicate | 必須 | mutate_if() で使用する引数対象となる列を返り値がBool型の関数で指定する |
使い方
スコープ付き関数の基本的な使い方は専用の解説ページを参照してください。
解説用データフレーム
df <- tibble::tibble(
x1 = c(1, 2, 3),
x2 = c('A', 'B', 'C'),
)
> df
# A tibble: 3 x 2
x1 x2
<dbl> <chr>
1 1 A
2 2 B
3 3 C
1.一意の値の取得
1-1.基本的な使い方
# 列x1の一意の値を取得する
distinct_at(df, .vars = c('x1'))
# A tibble: 2 x 1
x1
<chr>
1 A
2 B
1-2.関数を利用した使い方
# 数値型の列を四所悟入して、一意の値を取得する
distinct_if(df, .predicate = is.numeric, .funs = round)
# A tibble: 3 x 1
x2
<dbl>
1 1
2 2
3 3