CATEGORY

dplyr & tidyr

通常関数とショートハンド関数

データのグループ化

解説ページ 対応関数 補足
グループ化 group_by グループ化を行う
ungroup グループ化を解除する
group_by_all group_by()のスコープ付き関数
group_by_at group_by()のスコープ付き関数
group_by_if group_by()のスコープ付き関数
group_trim グループ化構造の再計算を行う

 

データの整理

解説ページ 対応関数 補足
列の選択 select 列の選択(取得・改称・並べ替え)を行う
rename 列の改称を行う
行の取得 filter 論理式と一致する行を取得する
slice 行番号と一致する行を取得する
t op_n 指定した件数の行を降順に取得する
t op_frac 指定した割合の行を降順に取得する
行の抽出 sample_n 指定した件数の行を抽出する
sample_frac 指定した割合の行を抽出する
行の並べ替え arrange
行列の一意化 distinct 指定した列の値が一意になる行を取得する
group_keys グループ化した列の値が一意になる行を取得する

 

列の加工

解説ページ 対応関数 補足
列の加工 mutate 列の加工(追加・上書き)を行う
transmute mutate() + select()
列の集約 unite 文字列型を連結する
pack Tibble型に集約する
列の分解 separate 文字列型を接続詞で分解する
extract 文字列型を正規表現で分解する
unpack Tibble型を展開する

 

行の加工

解説ページ 対応関数 補足
行の集計 summarise 【Alias】summarize()
group_modify 集計結果が複数行になる処理を行う
取得するデータはgroup_map()と同じ
tally 行数を集計する
summarise() + 集計関数
count 行数を集計する
group_by() + summarise() + 集計関数 + ungroup()
add_tally 行数を集計する
mutate() + 集計関数
add_count 行数を集計する
group_by() + mutate() + 集計関数 + ungroup()
行の補完 complete 存在しない値や組み合わせを追加する
expand complete() + select()
uncount 行を複製する
行の連結 nest Tibble型に集約する
group_nest グループ化した行をTibble型に集約する
chop Vector型に集約する
行の分解 separate_rows 文字列型を接続詞で分解する
unnest Tibble型を展開する
unchop Vector型を展開する
行番号の集約 group_data 集約前の行番号をList型で取得する
取得するデータはgroup_rows()と同じ

 

データの整然化

解説ページ 対応関数 補足
整然化 pivot_longer 整然化(列の集約 + 行の展開)を行う
pivot_longer_spec 仕様書に従い整然化を行う
build_longer_spec 仕様書を作成する
非整然化 pivot_wider 非整然化(行の集約 + 列の展開)を行う
pivot_wider_spec 仕様書に従い非整然化を行う
build_wider_spec 仕様書を作成する
List hoist 列の集約
unnest_wider 列の展開
unnest_longer 行の展開

 

欠損値の加工

解説ページ 対応関数 補足
欠損値の削除 drop_na 欠損値を持つ行を削除する
欠損値の置換 replace_na 欠損値を指定した値で置換する
fill 欠損値を前後の値で置換する

 

データの結合

解説ページ 対応関数 補足
列の結合 inner_join 内部結合
left_join 左外部結合
right_join 右外部結合
full_join 全外部結合
semi_join 結合テーブルと一致する値を持つ行を取得する
anti_join 結合テーブルと一致しない値を持つ行を取得する
nest_join List化したテーブルを列に追加する
bind_cols 行番号が同じ行同士を結合する
行の結合 union 和集合
intersect 積集合
setdiff 差集合
union_all 単純結合
bind_rows 【同等関数】
union_all

 

関数内関数

解説ページ 対応関数 補足
セレクトヘルパー関数 starts_with 前方一致
ends_with 後方一致
contains 部分一致
matches 正規表現による一致
num_range 連番付き列名による一致
everything 全ての列名を指定
all_of 文字列・変数による指定
any_of 文字列・変数による指定
last_col 降順の列番号で指定
ソート関数
(降順)
desc
ウィンドウ関数
(前後の値)
lead 前の値を取得
lag 後ろの値を取得
ウィンドウ関数
(ランキング)
row_number 重複なし
ntile 重複あり+飛び番号あり
min_rank 重複あり+飛び番号なし
dense_rank 上限指定付き
percent_rank パーセント表記
cume_dist 割合表記
ウィンドウ関数
(累計)
cumsum 累積和(Base関数)
cumprod 累積積(Base関数)
cummean 累積平均
cummin 累積最小値(Base関数)
cummax 累積最大値(Base関数)
cumany 条件と一致するまでFalseを返す
cumall 条件から外れるまでTrueを返す
置換関数
(条件分岐)
if_else IF文
case_when SWITCH文
置換関数
(インデックス)
recode
recode_factor 【ショートハンド関数】
recode() + factor()
置換関数
(欠損値)
coalesce 欠損値を置換する
na_if 欠損値に置換する
置換関数
(真偽値)
between
集計関数
(行数)
n 行数
n_distinct 重複を除く行数
sum 重み付き行数(Base関数)
集計関数
(添字)
nth
first 【ショートハンド関数】
nth(x, n = 1)
last 【ショートハンド関数】
nth(x, n = -1)
補完関数
(列の組み合わせ)
crossing 列の全ての組み合わせを取得する
nesting 列の組み合わせを固定する
補完関数
(連続値)
full_seq 最小値から最大値までの値を取得する

 

スコープ付き関数

解説ページ 対応関数 補足
基本的な使い方
列の整頓 select_all
select_at
select_if
rename_all
rename_at
rename_if
行の取得 filter_all
filter_at
filter_if
行の並べ替え arrange_all
arrange_at
arrange_if
行列の一意化 distinct_all
distinct_at
distinct_if
列の加工 mutate_all
mutate_at
mutate_if
transmute_all
transmute_at
transmute_if
行の集計 summarise_all 【Alias】
summarize_all()
summarise_at 【Alias】
summarize_at()
summarise_if 【Alias】
summarize_if()

 

その他

テーブル情報

解説ページ 対応関数 補足
次元の取得 dim_desc

 

外部パッケージ

解説ページ 対応関数 補足
tibble add_row
as_data_frame
as_tibble
data_frame
frame_data
glimpse
lst
tbl_sum
tibble
tribble
trunc_mat
type_sum
rlang quo
quos
enquo
enquos
expr
enexpr
enexprs
sym
syms
ensym
ensyms

 

DB操作

詳しくないため解説を放棄します

解説ページ 対応関数 補足
backend_dbplyr db_analyze
db_degin
db_commit
db_create_index
db_create_indexes
db_create_label
db_data_type
db_desc
db_drop_table
db_explain
db_has_table
db_insert_into
db_list_tables
db_query_fields
db_query_rows
db_rollback
db_save_query
db_write_table
sql_escape_ident
sql_escape_string
sql_join
sql_select
sql_semi_join
sql_set_ops
sql_subquery
sql_translate_env

 

リストラ関数

解説ページ 対応関数 補足
列の分解 extract_numeric 【後継関数】
extract()
整然化 gather 【後継関数】
pivot_longer()
spread 【後継関数】
pivot_wider()
行の集合 rbind_all 【後継関数】
bind_rows()
rbind_list 【後継関数】
bind_rows()
セレクトヘルパー関数 one_of 【後継関数】
all_of(), any_of()
vars select_var
select_vars
rename_vars
current_vars
each mutate_each
summarise_each 【Alias】
summarize_each()

 

  • 2023年12月18日

行の複製

概要 tidyrパッケージに含まれるuncount()は、任意の行を複製する関数です。逆操作を行うcount()が存在します。 関連ページ 関数 引数 指定 説明 data 必須 データフレーム weights 必須 複製する行数を列名または正の値で指定する .remove 任意 weightsで指 […]

  • 2023年12月18日

行の補完

概要 tidyrパッケージに含まれるcomplete()は、指定した列を補完する関数です。 関数 引数 指定 説明 data 必須 データフレーム ... 必須 補完したい列を指定する fill 任意 補完した列の初期値を指定する 使い方 解説用データフレーム 1.型別の補完 1-1.Factor型 […]

  • 2023年12月18日

欠損値の置換

概要 tidyrパッケージに含まれるreplace_na()は、指定した列の欠損値を置換する関数です。 関連ページ 関数 引数 指定 説明 data 必須 データフレーム replace 必須 欠損値を置換する列を 列名 = 代替値 のList型で指定する 使い方 解説用データフレーム 1.欠損値の […]

  • 2023年12月18日

列のList化

概要 tidyrパッケージに含まれるchop()は、指定した列をList化する関数です。逆操作を行うunchop()が存在します。 関連ページ 関数 引数 指定 説明 data 必須 データフレーム cols 必須 List化する列を指定する 使い方 解説用データフレーム 1.List化

  • 2023年12月18日

Listの展開

概要 tidyrパッケージに含まれるunchop()は、List型の列を展開する関数です。逆操作を行うchop()が存在します。 関連ページ 関数 引数 説明 df データフレーム cols List型の列を指定する keep_empty List型の中身が空の行を残す場合はTRUEを指定する pt […]

  • 2023年12月18日

列の選択(ヘルパー関数)

概要 select()とrename()では、tidyselectパッケージに含まれるselect helper関数が使えます。select helper関数を使用することでselect()とrename()をより簡潔に記述することができます。 関連ページ 関数 引数 説明 match 文字列一致で […]

  • 2023年12月18日

列の選択

概要 dplyrパッケージに含まれるselect()は、列の選択(取得・改称・並べ替え)を行う関数です。rename()は列の改称に特化した関数になります。 引数 指定 説明 data 必須 テーブルを指定する … 必須 列を指定する列の改称を行う場合は 変更後の列名 = 変更前の列名 […]

  • 2023年12月18日

列の結合

概要 dplyrパッケージに含まれるinner_join(), left_join(), right_join(), full_join()は、列の結合を行う関数です。同じ列の結合を行う関数にはsemi_join(), anti_join(), nest_join()が存在します。 関連ページ 関数 […]

  • 2023年12月18日

行の取得

概要 dplyrパッケージに含まれるfilter(), slice()は、条件と一致する行を取得する関数です。 引数 指定 説明 .data 必須 テーブルを指定する … 必須 取得する行の条件(論理式または行番号)を指定する .preserve 任意 グループ化構造を維持するか再計算す […]

  • 2023年12月18日

行の並べ替え

概要 dplyrパッケージに含まれるarrange()は、行を昇順に並べ替える関数です。降順に並べ替える時はdesc()を使用します。 引数 指定 説明 .data 必須 テーブルを指定する … 必須 並べ替えを行う列を指定する .by_group 任意 グループ化された列を並べ替えの対 […]