関数リファレンス

Logical

! 次の条件の意味を反転します。これは論理否定であり、「Not」と同様の意味を持ちます。
all 行またはグループ内の行ですべての行が指定した条件を満たす場合、TRUEを返します。
any 行またはグループ内の行で指定した条件を満たすものが一つでもある場合、TRUEを返します。
duplicated 重複した値または行であるかどうかを論理値(TRUE、FALSE)で返します。
ifelse 条件の結果に基づいて、異なる値を返します。
is.character 指定されたオブジェクトがCharacter(文字列)型の場合はTRUEを返します。
is.double 指定されたオブジェクトがDouble(不動小数点)型の場合はTRUEを返します。
is.factor 指定されたオブジェクトがFactor(順序付きカテゴリー型)の場合はTRUEを返します。
is.list 指定されたオブジェクトがList型の場合はTRUEを返します。
is.logical 指定されたオブジェクトがLotical(論理値)型の場合はTRUEを返します。
is.matrix 指定されたオブジェクトがMatrix型の場合はTRUEを返します。
is.na 欠損値の場合にTRUEを返します。
is.null nullの場合にTRUEを返します。
is.numeric 指定されたオブジェクトがNumeric(数値)型の場合はTRUEを返します。
isTRUE 指定された値がTRUEである場合にのみTRUEを返します。
which 論理ベクトル内の値の位置を返します。
xor 2つの値の排他的論理和のチェックを実行し、2つの値のうち1つだけがTRUEの場合のみTRUEを返します。
is.Date 指定したオブジェクトが日付型の場合はTRUEを返します。
is.difftime 指定したオブジェクトがdifftime型の場合はTRUEを返します。
is.duration 指定したオブジェクトがduration型の場合はTRUEを返します。
is.POSIXct 指定したオブジェクトがPOSIXct型の場合はTRUEを返します。
str_detect 特定の文字列が含まれているかどうかに基づいて、TRUEまたはFALSEを返します。
if_else 指定した条件を満たすかどうかに応じて、値を返します。
case_when 複数の条件にもとづいて値を返します。これはSQLのCASE WHENに似ています。条件とそれに対応する値を指定するために両辺の式を使い、ELSE条件としてTRUEを使用することができます。詳しくは以下の例を参照してください。
coalesce 欠損値を特定の値または他の列の同じ位置にある値に置き換えます。
na_if 一致する値をNAに置き換えます。
near 2つの数値ベクトルを比較します。浮動小数点数の2つのベクトルが(対で)等しいかどうかを比較する安全な方法です。許容誤差が組み込まれている点におい、== を使うよりも安全です。
recode_factor 元の値を指定された値で置換し、順序付きカテゴリの列を作成します。数値の場合、値にバックティックを付けるか、その位置にもとづいて置き換えることができ、文字列は、その名称をもとに置き換えることができます。
parse_logical データをLogical(論理値)型に変換します。
is.hms 指定したオブジェクトがhms型の場合はTRUEを返します。
str_logical カテゴリまたは数値型の列をロジカル型の列に変換します。引数の"true_value"がない場合、"yes", "true", "1"をTRUEとして扱い、"no", "false", "0"をFALSEとして扱います。
impute_na impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
summarize_row 指定した集計関数を利用して、各行の列の値を集計 します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。
confint_ratio 指定したロジカル型のデータからTRUEの割合の信頼区間(信頼区間の半分の幅)を返します。
calc_confint_ratio サンプルデータのサイズと標準偏差から、TRUEの割合の信頼区間(信頼区間の半分の幅)を返します。

Text

abbreviate 文字列をminlength文字に短縮し、一意にできるようにします。まず、文字列の先頭にある全てのスペースが削除されます。 その後、必要に応じて他のスペースが削除されます。次に、小文字の母音が (右から順に) 削除され、続いて小文字の子音が削除されます。最後に、省略形がminlengthよりも長い場合は、大文字が削除されます。
c いくつかの引数を組み合わせるための一般的な関数です。
iconv 指定されたテキストをあるエンコーディングから別のエンコーディングに変換します。
nchar 指定された値の文字数またはサイズを返します。
str_c 複数のテキストや列をくっつけることができます。
str_conv テキストを指定されたエンコーディング(例:UTF-8)に変換します。
str_count テキストデータの文字数または単語数を返します。一致したパターンまたはテキストのみをカウントするように設定できます。
str_detect 特定の文字列が含まれているかどうかに基づいて、TRUEまたはFALSEを返します。
str_dup 文字列の値を繰り返します。
str_extract 指定した文字列または正規表現に一致する文字列を抽出します。
str_extract_all 指定した文字列または正規表現に一致する文字列をすべて抽出します。
str_length テキストデータの文字数を返します。
str_pad 指定した文字数に満たない空白箇所をスペース、または特定の文字で埋めることができます。
str_replace 指定した文字列または正規表現に一致する文字列を置き換えます。
str_replace_all 指定した文字列または正規表現に一致する文字列をすべて置き換えます。
str_replace_na 欠損値(NA)を特定の文字列に置換します。
str_split 指定した区切り文字によって、複数のテキストに分割します。値はリストとして返されるため、unnest() 関数で新しく作成された列のネストを解除する必要があります。
str_sub 位置に基づいて文字列を抽出します。
str_to_lower テキストを小文字に変換します。
str_to_title テキストをタイトルケースに変換します。
str_to_upper テキストを大文字に変換します。
str_trim テキストの中にある空白を取り除きます。
word テキストデータの最初、最後、またはN番目の単語を抽出します。
extract_numeric 指定されたテキストから数字のみを抽出します。数値以外のフォーマットがある文字列(例: $1,200.34, -12%, X1)に便利です。
url_parameters url からデコードされたクエリのパラメーターを返します。
coalesce 欠損値を特定の値または他の列の同じ位置にある値に置き換えます。
na_if 一致する値をNAに置き換えます。
recode 元の値を指定された値で置換します。数値の場合は数値にバックティックをつけるか、その位置に基づいて、置換ができます。文字列の場合は、その名前を置き換えることができます。
parse_number 文字列などを除いた上で数値のみを抽出し、Numeric(数値)型に変換します。
str_trunc テキストの文字数が指定された数になるように、テキストを切り捨てます。
str_remove 指定した文字列または正規表現に一致する文字列を取り除きます。
str_remove_all 指定した文字列または正規表現に一致する文字列をすべて取り除きます。
str_remove_word 文章から単語を取り除きます。
str_replace_word 文章にある単語を指定して単語に置換します。
str_remove_inside 指定した文字の範囲内に含まれる文字を取り除きます。
str_replace_inside 指定した文字の範囲内に含まれる文字を置換します。
str_remove_url 文字列の中にあるURLを取り除きます。
str_replace_url 文字列の中のURLを指定したテキストに置換します。
str_extract_url 文字列の中からURLを抽出します。
str_remove_emoji 文字列の中から絵文字を取り除きます。
anonymize ハッシュ・アルゴリズムによって値を匿名化します。
str_clean エスケープ文字(例: \n, \t)、余分な空白、余分なピリオド、先頭と末尾のスペースを削除して、テキストをきれいにします。
str_count_all 文字列のパターンを数えます。
str_normalize 全角のアルファベット、数字、特殊文字を通常のアルファベット、数字、特殊文字に置き換えます。また半角カナ文字を全角カナ文字に置き換え、その他の正規化規則を適用してテキストを正規化します。これはUnicode 正規化形の規則に従います。なお、この関数はstringi::stri_trans_nfkc 関数のラッパー関数です。
str_extract_inside 指定した記号内のテキストを抽出する。
str_logical カテゴリまたは数値型の列をロジカル型の列に変換します。引数の"true_value"がない場合、"yes", "true", "1"をTRUEとして扱い、"no", "false", "0"をFALSEとして扱います。
get_stopwords "a"、"the"、"and"などのストップワードを返します。
word_to_sentiment 単語に対して、肯定的または否定的なセンチメントの種類を返します。
get_sentiment 文章からセンチメントスコアを返します。正のスコアは肯定的な文章を表し、負のスコアはその反対を表します。0は「中立」を意味します。
stem_word 綴りが若干異なる単語を同じ単語として認識できるように整えます。
is_stopword 文字列に辞書で定義されたストップワードのリストに含まれる単語がある場合、TRUEを返します。
is_empty 文字列が空文字または NAのときにTRUEを返します。
is_alphabet 文字列がアルファベットのみを含む場合に TRUE を返します。
ip_to_country IPアドレスから国名を返します。
url_domain url からドメイン (例: "exploratory.io")を返します。
url_fragment url からフラグメントを返します。
url_path urlからパスを返します。
url_port url からポートを返します。
url_scheme urlからスキーム(例:"http"、"https")を返します。
url_suffix urlから接尾辞(例:"com"、"org")を返します。
url_subdomain urlからサブドメイン (例 "www", "blog") を返します。
url_tld url からトップレベルドメイン (例 "com"、"co") を返します。
url_param url からデコードされたクエリパラメーターを返します。
countrycode 国名や国名コードを他のコードや名前(国名、大陸名など)に変換します。
statecode 米国の州の情報を持つ列から、米国の州名、略称、数値コード、区分、地域のいずれかを返します。州の情報は、米国の州名、略語 (FIPS / ANSI コード)、数値コード (FIPS) のいずれかであり、任意の組み合わせが可能です。
countycode 米国の州および郡名にをもとに米国の郡コード(FIPS - 連邦情報処理標準)を生成します。
impute_na impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
summarize_row 指定した集計関数を利用して、各行の列の値を集計 します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。

Number

abs 数値を絶対値として返す。
acos 逆余弦の値をラジアン単位で返します。
acosh 逆双曲線余弦の数値を返します。
asin 逆正弦の値をラジアン単位で返します。
asinh 逆双曲線正弦の数値を返します。
atan 逆正接の値をラジアン単位で返します。
atan2 x軸と原点(0,0)から指定された座標ペア (`x`,`y`) までの線分との間の角度をラジアン単位で返します。
atanh 逆双曲線正接の数値を返します。
ceiling 数値を整数または指定した小数点で切り上げる。
cos 指定された角度のコサインをラジアン単位で返します。
cosh 任意の実数の双曲線余弦を返します。
cospi cos(pi * )を返します。
cut 数値を指定した数に分割し、その間隔の値(下限,上限)を返します。
exp ネイピア数(オイラー数)のe(~2.718)の累乗を返します。
floor 数値を整数または指定した小数点で切り捨てる。
log 対数を返します。デフォルトは自然対数での値を返します。
log10 常用対数(10を底とする対数)を返します。
log1p log(1+数値) の値を返します。数値がゼロに近い場合でも、正確な値が計算できます。
log2 二進対数(2を底とする対数)を返します。
pmax 並列する値のうち、どちらかの最大値を返します。
pmin 並列する値のうち、どちらかの最小値を返します。
round 数値を整数または指定した小数点で四捨五入する。
sign 値が正、0、または負であるかどうかに応じて、それぞれ1、0、-1を返します。
signif 値を指定した有効桁数に四捨五入します。
sin 指定された角度のサインをラジアン単位で返します。
sinh 任意の実数の双曲線正弦を返します。
sinpi sin(pi * )を返します。
sqrt 値の平方根を返します。
tan 指定された角度のタンジェントをラジアン単位で返します。
tanh 任意の実数の双曲線正接を返します。
tanpi tan(pi * )を返します。
trunc 数値の小数点以下を切り捨てます。
coalesce 欠損値を特定の値または他の列の同じ位置にある値に置き換えます。
near 2つの数値ベクトルを比較します。浮動小数点数の2つのベクトルが(対で)等しいかどうかを比較する安全な方法です。許容誤差が組み込まれている点におい、== を使うよりも安全です。
recode 元の値を指定された値で置換します。数値の場合は数値にバックティックをつけるか、その位置に基づいて、置換ができます。文字列の場合は、その名前を置き換えることができます。
normalize 列の数値をセンタリングまたはスケーリングします。
impute_na impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。
detect_outlier 外れ値を検出し、'upper'(上位)ラベルと'lower'(下位)ラベルを返します。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
summarize_row 指定した集計関数を利用して、各行の列の値を集計 します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。
confint_mean 与えられた数値データから、平均の信頼区間(信頼区間の半分の幅)を返します。
calc_confint_mean サンプルデータのサイズと標準偏差から、平均の信頼区間(信頼区間の半分の幅)を返します。
cumsum_decayed 減衰効果の累積和を計算します。第二引数のRが1の場合は、cumsum関数と同じ結果を得られます。
ts_lag 特定の値の指定した前期間の値を返します。
ts_diff 特定の値の指定した前期間との差を計算します。
ts_diff_ratio 特定の値の指定した前期間との差の割合を計算します。
likert_sigma 1="強くそう思わない"、2="そう思わない"、3="どちらでもない"、4="そう思う"、5="強くそう思う "のようなアンケートの回答データの列からリッカートのシグマ値を返します。
logistic 数値列に対してロジスティック関数を適用した結果を返すことができます。

Aggregate

all 行またはグループ内の行ですべての行が指定した条件を満たす場合、TRUEを返します。
any 行またはグループ内の行で指定した条件を満たすものが一つでもある場合、TRUEを返します。
length 値の長さを返します。
max すべての値の最大値を返します。
mean すべての値の平均値を返します。
min すべての値の最小値を返します。
prod 指定されたデータの一連の数値を乗算して積値を返します。
sum すべての値の合計値を返します。
unique 一意な値の数を返します。
n 各グループの行数を返します。
n_distinct 一意な値の数を返します。
nth n番目の値を返します。
IQR 四分位範囲を計算します。
mad 中央絶対偏差を計算します。
median 中央値を計算します。
quantile 与えられた確率に対応する標本の分位数を計算します。最小値は確率0に対応し,最大値は確率1に対応します。
sd 標準偏差を計算します。
var 分散を計算します。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
sum_if 指定した条件を満たす合計値を返します。
sum_if_ratio 指定した条件を満たす合計値の、すべての値の合計値に対する比率を返します。
count_if 指定した条件を満たす行の数を集計します。
count_if_ratio 総行数に対する指定した条件を満たす行の数の比率を集計します。
count_unique_if 指定した条件を満たす行に由来する列の一意な値の数を数えます。
count_unique_if_ratio 指定した条件を満たす行から得られる一意の値の数と、一意の値の数の比率を返します。
mean_if 指定した条件を満たす平均値を返します。
average_if 指定した条件を満たす平均値を返します。 average_if関数は mean_if のエイリアスです。
median_if 指定した条件を満たす中央値を返します。
max_if 指定した条件を満たす数値列の最大値を返します。
min_if 指定した条件を満たす数値列の最小値を返します。
count_rows グループごとの行の数を集計します。
count_unique 一意な値の数を返します。

Type Conversion

as.character データタイプを文字列型(Character)に変換します。
as.Date データタイプを日付型(Date)に変換します。日付型のデータには時間の情報は含まれません。デフォルトのフォーマットは「2020-01-01」と表現するISO8601の国際規格に従います。
as.double データタイプを不動小数点型(double)に変換します。数値型(Numeric)と同じ挙動になります。
as.factor 指定した列をFactor型に変換します。
as.integer データタイプを整数型(integer)に変換します。
as.logical データタイプをロジカル型(Logical)に変換します。
as.numeric データタイプを数値型(Numeric)に変換します。
as.POSIXct データタイプを日付・時間型(POSIXct)に変換します。
factor レベル(順序)を指定して、列をFactor型に変換します。
parse_date_time データを日付時間型に変換します。
parse_number 文字列などを除いた上で数値のみを抽出し、Numeric(数値)型に変換します。
parse_double データをDouble(倍精度浮動小数点数)型に変換します。
parse_euro_double データをDouble(倍精度浮動小数点数)型に変換します。
parse_integer データをInteger(整数)型に変換します。
parse_time データをTime(時間)型に変換します。
parse_character データをCharacter(文字列)型に変換します。
parse_factor データをFactor(順序付きカテゴリー)型に変換します。
parse_logical データをLogical(論理値)型に変換します。
as_date POSIXct型の列をDate型に変換できます。
as_datetime データをPOSIXct型に変換します。
as.hms 指定されたデータをhms型のデータに変換します。Hms,difftimeの値を計算で使う際には秒単位で処理されます。
excel_numeric_to_date Excelの日付の数値(例: 42370)を日付型(例: 2016-01-01)に変換します。
excel_numeric_to_datetime Excelで数値になっている日付/時刻の値をPOSIXct型の値に変換します。
unixtime_to_datetime unix時間の数値をPOSIXctに変換します。

Others

chartr oldで指定された各文字を、newで指定された対応する文字に変換します。
list リストを作成します。
rep Repeats given numbers.
rev Reverses the entries in a given data.
desc Change the sorting order to a descending order. e.g. 9 to 1 instead of 1 to 9, z to a instead of a to z.

Window Calculation

cummax 累積最大値を返します。
cummin 累積最小値を返します。
cumprod 累積積を返します。
cumsum 累積合計値を返します。
cumall 現在の位置までのすべての値がTRUE のときにTRUE を返します。
cumany 現在の位置までの値のいずれかが TRUE ならば TRUE を返します。
cume_dist その値の順位以下の全値の割合である累積分布を返します。欠測値の場合は、欠損値を返します。
cummean 累積平均を返します。
dense_rank 隙間のない順位を返します。 欠損値の場合は、欠損値がそのまま残ります。
first 最初の値を返します。
lag 注目している値より前の値を返します。
last 最後の値を返します。
lead 注目している値よりも後の値を返します。
min_rank 隙間のある順位を返します。同じ順位のときには、最小の順位を返します。 欠損値の場合は、欠損値がそのまま残ります。
ntile 列の値をもとに n 個に分割します。 欠損値はそのまま残されます。
percent_rank 0から1間で順位比率を返します。 欠損値の場合は、欠損値がそのまま残ります。
row_number 行番号を返します。
roll_max 移動計算により、指定されたウィンドウサイズ間の最大値を返します。
roll_mean 移動計算により、指定されたウィンドウサイズ間の平均値を返します。
roll_median 移動計算により、指定されたウィンドウサイズ間の中央値を返します。
roll_min 移動計算により、指定されたウィンドウサイズ間の最小値を返します。
roll_prod 移動計算により、指定されたウィンドウサイズ間の積値を返します。
roll_sd 移動計算により、指定されたウィンドウサイズ間の標準偏差を返します。
roll_sum 移動計算により、指定されたウィンドウサイズ間の合計値を返します。
roll_var 移動計算により、指定されたウィンドウサイズ間の分散を返します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。

Date

difftime 指定された2つの日付・時間の差を計算します。
months 計算に使用できるように、数値を月の単位に変換します。
ceiling_date 日付・時間を、指定した単位に最も近い日付、または時間に切り上げます。
date_decimal 年の分数である数値データを日付データに変換します。
day 日付型や日付時間型の値から日の情報を抽出します。
days 計算に使用できるように、数値を日の単位に変換します。
decimal_date 日付を年の分数に計算し、日付データを数値データに変換します。
dmy 日、月、年の順番の文字列または数値データを日付型に変換します。
dmy_h 日、月、年、時の順番の文字列のデータを日付時間型に変換します。
dmy_hm 日、月、年、時、分の順番の文字列のデータを日付時間型に変換します。
dmy_hms 日、月、年、時、分、秒の順番の文字列のデータを日付時間型に変換します。
duration 数値と指定した単位をもとに、秒単位に換算した値を求められます。
dym 日、年、月の順番の文字列または数値データを日付型に変換します。
floor_date 日付・時間を、指定した単位に最も近い日付、または時間に切り捨てます。
force_tz 指定したタイムゾーンに修正します。
here 設定されているローカルのタイムゾーンの現在時刻を取得します。
hm 時と分のデータを期間のデータ型(Period)に変換します。
hms hms型のデータを作成できます。Hms,difftimeの値を計算で使う際には秒単位で処理されます。
hour 日付型や日付時間型の値から時間の情報を抽出します。
hours 計算に使用できるように、数値を時間の単位に変換します。
interval 2つの日付間の間隔を秒単位で返します。この結果を使用して、日、週などの特定の単位で除算するか、as.numeric()で数値型に変換することで期間を取得できます。
isoweek 年の週番号を抽出します。週の開始曜日は月曜日になっています。
mday 日付列から月の日(1-31)を抽出します。
mdy 月、日、年の順番の文字列または数値データを日付型に変換します。
mdy_h 月、日、年、時の順番の文字列のデータを日付時間型に変換します。
mdy_hm 月、日、年、時、分の順番の文字列のデータを日付時間型に変換します。
mdy_hms 月、日、年、時、分、秒の順番の文字列のデータを日付時間型に変換します。
milliseconds 数値をミリ秒に変換してPeriod型として値を返します。
minute 日付型や日付時間型の値から分の情報を抽出します。
minutes 計算に使用できるように、数値を分の単位に変換します。
month 日付型や日付時間型の値から月の情報を抽出します。
ms 分と秒のデータを期間のデータ型(Period)に変換します。
myd 月、年、日の順番の文字列または数値データを日付型に変換します。
now 日付を含む現在時刻を返します。似た関数に'today()'があり、today関数は今日の日付のみを返します。
parse_date_time データを日付時間型に変換します。
qday 日付列から四半期の最初の日からの日数(1-92)を抽出します。
quarter 日付型や日付時間型の値から四半期の情報を抽出します。
rollback 日付データを前月の末日、またはその月の最初の日に丸め処理します。
round_date 日付・時間を、指定した単位に最も近い日付、または時間に丸めます。
second 日付型や日付時間型の値から秒の情報を抽出します。
seconds 計算に使用できるように、数値を秒の単位に変換します。
time_length 2つの日付間の正確な期間を計算して数値として値を返します。
today 今日の日付を返します。似た関数に'now()'があり、now関数は現在時刻含む今日の日付を返します。
wday 日付列から曜日(1-7)を数値(例: 月曜日は1)、または文字列(例: 日曜日)として返します。文字列はショート(例: 日)、またはロング(例: 日曜日)として返すことができます。
week 日付型や日付時間型の値から1年の週番号を抽出します。第1週の1日目は、曜日に関係なく、常に1月1日から始まります。
weeks 計算に使用できるように、数値を週の単位に変換します。
with_tz 指定したタイムゾーンでの日付・時間を返します。
yday 日付列から年の日(1-366)を抽出します。
ydm 年、日、月の順番の文字列または数値データを日付型に変換します。
ydm_h 年、日、月、時の順番の文字列のデータを日付時間型に変換します。
ydm_hm 年、日、月、時、分の順番の文字列のデータを日付時間型に変換します。
ydm_hms 年、日、月、時、分、秒の順番の文字列のデータを日付時間型に変換します。
year 日付型や日付時間型の値から年の情報を抽出します。
years 計算に使用できるように、数値を年の単位に変換します。
ymd 年、月、日の順番の文字列または数値データを日付型に変換します。
ymd_h 年、月、日、時の順番の文字列のデータを日付時間型に変換します。
ymd_hm 年、月、日、時、分の順番の文字列のデータを日付時間型に変換します。
ymd_hms 年、月、日、時、分、秒の順番の文字列のデータを日付時間型に変換します。
coalesce 欠損値を特定の値または他の列の同じ位置にある値に置き換えます。
recode 元の値を指定された値で置換します。数値の場合は数値にバックティックをつけるか、その位置に基づいて、置換ができます。文字列の場合は、その名前を置き換えることができます。
parse_time データをTime(時間)型に変換します。
ym 年、月の順番の文字列または数値データを日付型に変換します。
my 月、年の順番の文字列または数値データを日付型に変換します。
yq 年と四半期の文字列データを日付型に変換します。
epiweek 年の週番号を抽出します。週の開始曜日は日曜日になっています。
as_date POSIXct型の列をDate型に変換できます。
as.hms 指定されたデータをhms型のデータに変換します。Hms,difftimeの値を計算で使う際には秒単位で処理されます。
impute_na impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
summarize_row 指定した集計関数を利用して、各行の列の値を集計 します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。
weekend 指定した日付列の値をもとに、平日か週末かのラベルをつけます。
is_japanese_holiday is_jholiday関数のエイリアスです。指定した日付が日本の祝日の場合、TRUEを返します。
get_week_of_month 月の週を抽出します。例えば、指定した日付が月の第1週であれば `1` を返します。
years_between 2つの日付間の期間を年数で計算します。
months_between 2つの日付間の期間を月数で計算します。
weeks_between 2つの日付間の期間を週数で計算します。
days_between 2つの日付間の期間を日数で計算します。
hours_between 2つの日付間の期間を時間で計算します。
minutes_between 2つの日付間の期間を分で計算します。
seconds_between 2つの日付間の期間を秒で計算します。
last_date 指定した単位(月など)における、最後の日付を返します。
ts_lag 特定の値の指定した前期間の値を返します。
ts_diff 特定の値の指定した前期間との差を計算します。
ts_diff_ratio 特定の値の指定した前期間との差の割合を計算します。
is_jholiday 指定された日付が日本の祝日だった場合にTRUEを返します。

Data Frame

intersect Keep the rows that appear in all of the given data frames.
setdiff Keep the rows that appear in the first data frame but not the other data frames.
union Keep the rows that appear in one of the given data frames.
anti_join Return all rows from the current data frame where there are not matching values in the target, keeping just columns from the current.
arrange Sort rows by given column(s).
bind_cols Bind multiple data frames by column.
bind_rows Bind multiple data frames by row.
distinct Select distinct/unique rows. Only the first row will be preserved. Set .keep_all argument to TRUE to keep all the original columns.
filter Select rows with conditions.
full_join Return all rows and all columns from both the current data frame and the target data frame.
group_by Converts the data frame into a grouped data frame where the following operations will be performed based on the groups. Grouping should be done before you want to aggregate values.
inner_join Return all rows from the current data frame where there are matching values in the current, and all columns from the current and the target.
left_join Return all rows from the current data frame, and all columns from the current and the target. Rows in the current with no match in the target will have NA values in the new columns. If there are multiple matches between the current and the target, all combinations of the matches are returned.
mutate Mutate creates new column(s) with given expressions and preserves existing . You can use transmute to create new columns while removing the original ones.
rename Rename existing column names.
right_join Return all rows from the target data frame, and all columns from the current and the target
sample_frac Sample n fraction of rows from the data frame.
sample_n Sample n rows from the data frame.
select Select column(s) by column names.
semi_join Return all rows from the current data frame where there are matching values in the target data frame, keeping just columns from the current.
slice Select rows by positions. This is not supported for relational databases, in which case you should use filter() with row_number() function.
summarize Summarize a column values to a single value by using aggregate functions. Make sure you have grouped the data frame already using group_by() already.
top_n Select the top n entries based on a given measure in each group.
transmute Transmute adds new columns and drops existing columns.
ungroup Ungroup existing grouping
predict Returns data augmented with fitted values and residuals.
complete 欠損しているデータの組み合わせを追加したデータフレームを返します。
expand Expand a data frame by adding all the combination of given columns.
fill Fills missing values in using the previous entry. This is convenient especially when values are not presented in some cells to avoid duplicated entries.
gather Takes multiple columns and collapses into key-value pairs, duplicating all other columns as needed.
nest Nest a set of columns together as a list column.
separate Separates a column with delimited values into multiple columns.
spread Spread a key-value pair across multiple columns. Missing values will be replaced with NA.
unite Unite multiple columns together into one column with given uniting characters. It will concatenate values by “\_" and remove the original column by default. Multiple columns specified in the list can be combined together at once.
unnest Unnest a list column or a list of data frames by making each element of the list to be presented in its own row.
select_if Select column(s) with a predicate (conditional) function.
mutate_all Apply functions to all the columns.
mutate_at Apply functions to specified columns.
mutate_if Apply functions to only the columns that match with a given condition.
summarize_all Apply functions to all the columns.
summarize_at Apply functions to specified columns.
summarize_if Apply functions to only the columns that match with a given condition.
separate_rows Separates a column with delimited values into multiple rows.
drop_na Drop rows that have NA value.
type_convert Heuristically guess the data type for each column by reading the first 1000 rows, parse the data, and set appropriate data types for all the columns of the data frame.
model_info Returns a summary information of a given model in a tidy (normalized data frame) format.
remove_empty_rows Remove rows whose column values are all NAs.
remove_empty_cols Remove columns whose values are all NAs.
clean_names Make column names clean by using only _ character, lowercase letters, and numbers.
get_dupes Get rows that are duplicated.
convert_to_NA Convert specific values to NA.
tabyl Create frequency table.
do_svd.kv Calculates coordinations by reducing dimensionality using SVD (Singular Value Decomposition).
do_svd Calculates coordinations by reducing dimensionality using SVD (Singular Value Decomposition).
build_lm Builds a linear regression model (lm) and store it in a data frame.
build_lr Builds logistic regression model and store it in a data frame.
build_glm Builds generalized linear models (glm) and store it in a data frame.
build_multinom Builds multinomial logistic regression model and store it in a data frame.
prediction Returns a data frame with regression information about a model.
prediction_binary Returns a data frame with binary classification information about a model.
prediction_coxph Returns a data frame with predicted values of Cox Proportional Hazard Model.
model_coef Returns a data frame with 'Parameter Estimates (Coefficients)' information about a model including the below.* term - Term in lm that is estimated.* estimate - Estimated coefficients. The larger the number, the more positive effect the variable has.* std_error - Standard Error. How much prediction error there is in the variable.* t_ratio - estimate / std_error. This value in t distribution is p_value.* p_value - The probability that the variable is **not** effective.* conf_low - The lower bound of confidence interval.* conf_high - The upper bound of confidence interval.
model_stats Returns a data frame with 'Summary of Fit' information about a model including the below.* r_square - R Square.* r_square_adj - Adjusted R Square.* root_mean_square_error - Root mean square error.* f_ratio - F ratio.* p_value - P value.* df - Degree of freedom.* null_deviance - Null deviance.* df_for_null_model - Degree of freedom for null model.* log_likelihood - Log likelifood.* deviance - Deviance.* AIC - Akaike's information criterion.* BIC - Bayesian information criterion.* deviance - Deviance.* residual_df - Residual degree of freedom.
model_anova Returns a data frame with anova test information about a model including the below.* df - Degree of freedom.* sum_of_squares* mean_square* f_ratio* p_value* deviance* residual_df* residual_deviance
evaluate_regression Returns a data frame with evaluation score of regression including the below.* r_squared* explained_variance* mean_square_error* misclassification_error* root_mean_square_error* mean_absolute_error* mean_absolute_percentage_error
evaluate_binary Returns a data frame with evaluation score of binary classification including the below.* AUC* f_score* accuracy* misclassification_rate* precision* recall* specificity* true_positive - Number of positive predictions that actually are positive.* false_positive - Number of positive predictions that actually are negative.* true_negative - Number of negative predictions that actually are negative.* false_negative - Number of negative predictions that actually are positive.* test_size - The number of tested data.* threshold - threshold value for prediction.
evaluate_multi Returns a data frame with evaluation score of multi classification including the below.* micro_f_score* macro_f_score* accuracy* misclassification_rate
do_roc Returns coordinates of roc curve.
build_kmeans.cols Builds a clustering model (k-means) from variable columns and returns the summary of the model or the augmented data depending on the parameter value.
build_kmeans.kv Builds a clustering model (k-means) from key-value columns and store the model into a generated data frame or augment the original data with the clustered ID.
build_kmeans Builds a clustering model (k-means). Stores the model into a generated data frame or the augmented data depending on the parameter value.
do_t.test Execute t-test, which checks differences of means of variables.
do_var.test Execute F-test, which checks the differences of variances between groups.
do_chisq.test Execute chi-squared contingency table tests and goodness-of-fit tests.
do_apriori Find rules of what tend to occur at the same time from transaction data.
do_anomaly_detection Detect anomaly in time series data frame.
do_prophet Add forecast data to time series data frame.
do_market_impact Estimate impact of an event (advertisement, etc.) on a market, by using other markets to form a synthetic control.
row_as_header Use a row as column names.
pivot Pivot columns into rows and columns. Values are count of pairs of rows and columns or aggregation of another column.
do_cor.cols Calculates correlations for all the pairs of the variables (columns).
do_cor.kv Calculates correlations for all the pairs of subject columns.
do_cor Calculates correlations for all the pairs of the variables or subjects.
do_dist.kv Calculate the distances between each of the pairs.
do_dist.cols Calculate distances of each of the pairs.
do_dist Calculate distances of each of the pairs of the variables or subjects.
do_cmdscale Execute multidimensional scaling (MDS). Calculate approximated coordinations from distances of entity pairs.
build_model Create data frame with models from input data frame by model function and arguments.
one_hot One-hot encodes a categorical column, producing separate columns for each categorical values, each of which has values of 1 or 0 that tells whether a row has the value the column represents.
sample_rows Sample n rows from the data frame. This is same as sample_n except for it handles the case where the number of rows in the data is fewer than the specified n without throwing error.

Factor

levels 指定されたFactor型のレベルを返します。
coalesce 欠損値を特定の値または他の列の同じ位置にある値に置き換えます。
recode 元の値を指定された値で置換します。数値の場合は数値にバックティックをつけるか、その位置に基づいて、置換ができます。文字列の場合は、その名前を置き換えることができます。
as_factor 指定した列を順序付きカテゴリーの列に変換します。標準搭載のbase関数のas.factor との違いは、出現する順序でレベルを作成する点です。またすべてのプラットフォームで同じ挙動です。 (base関数はロケールでソートするため、環境に応じて結果が変わる可能性があります)
fct_anon 順序付きカテゴリーのレベルを匿名化し、任意の数値に置き換えます。値もレベルの順序も保持されません。
fct_expand ファクター型の列にレベルを追加します。
fct_drop ファクター型の列から不要なレベルを削除します。
fct_explicit_na 欠損値にレベルが与えられ、欠損値がカテゴリーとして確実にチャートで表示されるようになります。
fct_lump データタイプをfactor型にし、値の出現頻度に応じて、出現頻度が低い値を「Other」グループにします。
fct_other 指定した値を「Other」グループにまとめる、または指定した値以外を「Other」グループにまとめることができます。
fct_inorder 元のデータ順に基づき値に順序をつけ、データタイプをfactor型に変換します。
fct_infreq 値の頻度をもとに順序をつけ、データタイプをfactor型に変換します。
fct_relevel 値の順序を指定し、データタイプをfactor型に変換します。
fct_reorder 別の列のソートした値に基づいて値の順序を設定し、データタイプをfactor型に変換します。
fct_rev factor型の列のレベルを反転させます。
impute_na impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。
get_mode 最も頻度の多い値を返します。
summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
summarize_row 指定した集計関数を利用して、各行の列の値を集計 します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。

Range

range 指定されたデータの最小値と最大値を返します。
between 注目している値が、指定された範囲内にあるかどうかをもとに、 TRUE または FALSE を返します。

Statistics

cor 2つの列の値の相関関係を計算します。共分散を2 つの列の値の標準偏差の積で割ることで計算されます。
cov 2つの列の値の共分散を計算します。

List

str_detect 特定の文字列が含まれているかどうかに基づいて、TRUEまたはFALSEを返します。
list_extract リスト内のデータがデータフレームの場合、位置または名前をもとにリストのデータ型の列の値を抽出します。
list_to_text リストデータ型の列のすべての要素のテキストを連結します。
list_concat 複数の列の値をリストとして連結します。
list_n 行ごとにリストデータ型の列内の要素の数を返します。

tidyr sub-function

full_seq Generate a sequence of numbers based on the values in a given column.
nesting Fix multiple columns so that only the combination of actually existing values in those columns will be used for complete() or expand() operation.

URL

param_remove 指定したURLからパラメータを削除します。
url_decode 指定したURLをデコードします。 文字コードはUTF-8を前提としています。
url_encode 指定したURLをエンコードします。 文字コードはUTF-8を前提としています。
url_parameters url からデコードされたクエリのパラメーターを返します。
url_domain url からドメイン (例: "exploratory.io")を返します。
url_fragment url からフラグメントを返します。
url_path urlからパスを返します。
url_port url からポートを返します。
url_scheme urlからスキーム(例:"http"、"https")を返します。
url_suffix urlから接尾辞(例:"com"、"org")を返します。
url_subdomain urlからサブドメイン (例 "www", "blog") を返します。
url_tld url からトップレベルドメイン (例 "com"、"co") を返します。
url_param url からデコードされたクエリパラメーターを返します。

Column

- Removes column(s). It can be used along with any column(s) selection operation like select(), gather(), etc.

Column Selection

starts_with Returns the column names that starts with a given text.
ends_with Returns the column names that ends with a given text.
contains Returns the column names that contain a given text.
matches Returns the column names that matches with a given text.
num_range Returns the column names that starts with a given text with numbers that are within a given range. It's useful especially when you have column names like X1, X2, X3, X4, etc.
any_of Returns the column names that are any of the given names.
everything Returns all the column names. It's useful when you want to have particular column(s) first before everything else.
where 指定した列選択関数(例:is.numeric関数)の戻り値がTRUEとなる列を返します。
across summarize_rowなど、他の関数で使用する列を選択するときに利用する関数です。

dplyr-subfunction

vars Returns a list of user selected columns.

POSIXct

as_date POSIXct型の列をDate型に変換できます。
weekend 指定した日付列の値をもとに、平日か週末かのラベルをつけます。
is_japanese_holiday is_jholiday関数のエイリアスです。指定した日付が日本の祝日の場合、TRUEを返します。
is_jholiday 指定された日付が日本の祝日だった場合にTRUEを返します。

Model Function

xgboost_reg Create extreme gradient boosting model for regression.
xgboost_binary Create extreme gradient boosting model for binary classification.
xgboost_multi Create extreme gradient boosting model for binary classification.
randomForestReg Create random forest model for regression.
randomForestBinary Create random forest model for binary classification.
randomForestMulti Create random forest model for multi class classification.

Survival Analysis

do_survfit Calculates Survival Curve from survival time and survival status.
prediction_survfit Simulates Survival Curve for specified cohort based on a survival model.
build_coxph Builds Cox Proportional Hazard Model for survival analysis and store it in a data frame.
prediction_coxph Returns a data frame with predicted values of Cox Proportional Hazard Model.

Geo

ip_to_country IPアドレスから国名を返します。

Text Analysis

do_tokenize Returns one token (e.g. word) per row after tokenizing a text.
pair_count Count pairs of words (tokens) that cooccur within a group
do_tfidf Calculates TF-IDF for each term against a group. TF-IDF is a weighting mechanism that calculates the importance of each word to each document by increasing the importance based on the term frequency while decreasing the importance based on the document frequency.
do_ngram Create columns of n-grams connected in sentences.
do_cosine_sim.kv Calculates the similarity between each pair of the documents using the cosine similarity algorithm. Cosine similarity measures the cosine of the angle between two vectors in the multi-dimensional space.

Summarize

summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。

Group By

summarize_group 指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。
mutate_group 表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。

!

概要
次の条件の意味を反転します。これは論理否定であり、「Not」と同様の意味を持ちます。

シンタックス
!<条件>

返り値


filter(!is.na(Population))
Population列のNAでない行を保持します。
filter(!str_detect(City, "Francisco"))
Cityに「Francisco」の文字列が含まれていない行を保持します。
filter(!Sales > 500)
Salesの値が500を超えない行を保持します。

abbreviate

概要
文字列をminlength文字に短縮し、一意にできるようにします。まず、文字列の先頭にある全てのスペースが削除されます。 その後、必要に応じて他のスペースが削除されます。次に、小文字の母音が (右から順に) 削除され、続いて小文字の子音が削除されます。最後に、省略形がminlengthよりも長い場合は、大文字が削除されます。

シンタックス
abbreviate(<列名>, minlength = <数値>, dot = <TRUE|FALSE>)

引数

返り値
Character


abbreviate("Exploratory")
"Expl"を返します。
abbreviate("Exploratory", 3)
"Exp"を返します。

abs

概要

数値を絶対値として返す。

シンタックス
abs(<数値列>)

返り値
Numeric

mutate(abs = abs(ARR-DELAY)) 数値を絶対値として返します。

acos

概要
逆余弦の値をラジアン単位で返します。

シンタックス
acos(<数値列>)

返り値
Numeric


acos(X1) X1列に対してacosで計算した値を返します。

acosh

概要
逆双曲線余弦の数値を返します。

シンタックス
acosh(<数値列>)

返り値
Numeric


acosh(X1) X1列に対してacoshで計算した値を返します。

all

概要
行またはグループ内の行ですべての行が指定した条件を満たす場合、TRUEを返します。

シンタックス
all(<条件>, na.rm = <TRUEまたはFALSE>)

引数

返り値
Logical


all(売上 >= 500)
全ての値が売上が500以上の場合はTRUEを返し、500よりも小さい値を一つでもある場合はFALSEを返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

any

概要
行またはグループ内の行で指定した条件を満たすものが一つでもある場合、TRUEを返します。

シンタックス
any(<条件>, na.rm = <TRUEまたはFALSE>)

引数

返り値
Logical

any(売上 >= 500)
売上が500以上の値がひとつでもある場合はTRUEを返し、500以上の値が一つもない場合はFALSEを返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

as.character

概要
データタイプを文字列型(Character)に変換します。

シンタックス
as.character(<列名>)

返り値
Character


as.character(123.11)
文字列型として"123.11"を返します。

as.Date

概要

データタイプを日付型(Date)に変換します。日付型のデータには時間の情報は含まれません。デフォルトのフォーマットは「2020-01-01」と表現するISO8601の国際規格に従います。

シンタックス
as.Date(<列名>, format = <日付のフォーマット>, tz = <タイムゾーン>, origin = <日付のテキスト>)

引数

返り値
Date


as.Date("2015-10-10")
"2015-10-10"を日付型で返します。
as.Date("10-10-10", format = "%d-%m-%y")
"2010-10-10"を日付型で返します。
as.Date(35981, origin = "1899-12-30") # WindowsのExcelのデータで推薦されます。 "1998-07-05"を日付型で返します。
as.Date(34519, origin = "1904-01-01") # MacのExcelのデータで推薦されます。 "1998-07-05"を日付型で返します。

as.double

概要
データタイプを不動小数点型(double)に変換します。数値型(Numeric)と同じ挙動になります。

シンタックス
as.double(<列名>)

返り値
Double


as.double("12345")
12345を返します。
as.double("12345.10")
12345.1を返します。

as.factor

概要
指定した列をFactor型に変換します。

シンタックス
as.factor(<列名>)

引数

返り値
Factor


columnA - "iMac", "iPod", "iPhone", "iPod", "iPhone"
as.factor(columnA)
データとしてはiMac, iPod, iPhone, iPod, iPhoneを返しますが、レベルとしてはiMac, iPhone, iPodを返します。

as.integer

概要
データタイプを整数型(integer)に変換します。

シンタックス
as.integer(<列名>)

返り値
Integer


as.integer("12345")
12345を返します。
as.integer("12345.10")
12345を返します。

as.logical

概要
データタイプをロジカル型(Logical)に変換します。

シンタックス
as.logical(<列>)

返り値
Logical


as.logical("TRUE")
TRUEを返します。
as.logical("true")
TRUEを返します。
as.logical("T")
TRUEを返します。
as.logical("True")
TRUEを返します。
as.logical(1)
TRUEを返します。

as.numeric

概要
データタイプを数値型(Numeric)に変換します。

シンタックス
as.numeric(<列名>, units = <単位>)

引数

返り値
Numeric


as.numeric("12345")
「12345」を数値型として返します。
as.numeric(as.Date("2015-01-30") - as.Date("2015-01-15"), units = "days")
difftime型のデータから日数である「15」を返します。
as.numeric(as.Date("2015-01-30") - as.Date("2015-01-15"), units = "weeks")
difftime型のデータから週数である「2.142857」を返します。

as.POSIXct

概要
データタイプを日付・時間型(POSIXct)に変換します。

シンタックス
as.POSIXct(<列名>, format = <日付時間のフォーマット>, tz = <タイムゾーン>, origin = <日付のテキスト>)

引数

返り値
POSIXct


as.POSIXct("2015-10-10 13:10:05") "2015-10-10 13:10:05 PDT"を返します。
as.POSIXct("2015-10-10 13:10:05", tz = "America/Los_Angeles") "2015-10-10 13:10:05 PDT"を返します
as.POSIXct("2015-10-10 13:10:05", tz = "Asia/Tokyo") "2015-10-10 13:10:05 JST"を返します。
as.POSIXct("05-10-15T13:10:05", format = "%d-%m-%yT%H:%M") "2015-10-05 13:10:00 PDT"を返します。

asin

概要
逆正弦の値をラジアン単位で返します。

シンタックス
asin(<数値列>)

返り値
Numeric


asin(X1) X1列に対してasinで計算した値を返します。

asinh

概要
逆双曲線正弦の数値を返します。

シンタックス
asinh(<数値列>)

返り値
Numeric


asinh(X1) X1列に対してasinhで計算した値を返します。

atan

概要
逆正接の値をラジアン単位で返します。

シンタックス
atan(<数値列>)

返り値
Numeric


atan(X1) X1列に対してatanで計算した値を返します。

atan2

概要
x軸と原点(0,0)から指定された座標ペア (x,y) までの線分との間の角度をラジアン単位で返します。

シンタックス
atan2(<X1>, <Y1>)

返り値
Numeric


atan2(X1, Y1) atan2で計算した値を返します。

atanh

概要
逆双曲線正接の数値を返します。

シンタックス
atanh(<数値列>)

返り値
Numeric


atanh(X1) X1列に対してatanhで計算した値を返します。

c

概要
いくつかの引数を組み合わせるための一般的な関数です。

シンタックス
c(<value1>, <value2>, ... , recursive = <TRUE|FALSE>)

引数


c(1:10)
1 2 3 4 5 6 7 8 9 10を返します。
c(1:10, 1:3)
1 2 3 4 5 6 7 8 9 10 1 2 3を返します。
c("a", "b", "c")
"a" "b" "c"を返します。

ceiling

概要

数値を整数または指定した小数点で切り上げる。

シンタックス
ceiling(<数値列>, digits = <桁数>)

引数

返り値
Numeric


ceiling(3.475, digits=2) 3.48を返します。

chartr

概要
oldで指定された各文字を、newで指定された対応する文字に変換します。

シンタックス
chartr(<old_text>, <new_text>, <column_text>)

引数

返り値
Character


x = "abcdef 123456" chartr("abc", "xyz", x)
"xyzdef 123456"を返します。
chartr("a-f", "u-z", x)
"uvwxyz 123456"を返します。
chartr("a-f", "xxxxxx", x)
"xxxxxx 123456"を返します。
chartr("123", "000", x)
"abcdef 000456"を返します。

cos

概要
指定された角度のコサインをラジアン単位で返します。

シンタックス
cos(<数値列>)

返り値
Numeric


cos(X1) X1列に対してcosで計算した値を返します。

cosh

概要
任意の実数の双曲線余弦を返します。

シンタックス
cosh(<数値列>)

返り値
Numeric


cosh(X1) X1列に対してcoshで計算した値を返します。

cospi

概要
cos(pi * )を返します。

シンタックス
cospi(<数値列>)

返り値
Numeric


cospi(X1) X1列に対してcospiで計算した値を返します。

cummax

概要
累積最大値を返します。

シンタックス
cummax(<数値列>)

返り値
Numeric


// X = c(1, 2, 3, 2, 1) cummax(X)
1, 2, 3, 3, 3を返します。

cummin

概要
累積最小値を返します。

シンタックス
cummin(<数値列>)

返り値
Numeric


// X = c(1, 2, 3, 2, 1) cummin(X)
1, 1, 1, 1, 1を返します。

cumprod

概要
累積積を返します。

シンタックス
cumprod(<数値列>)

返り値
Numeric


// X = c(1, 2, 3, 2, 1) cumprod(X)
1, 2, 6, 12, 12を返します。

cumsum

概要
累積合計値を返します。

シンタックス
cumsum(<数値列>)

返り値
Numeric


// X = c(1, 2, 3, 2, 1) cumsum(X)
1, 3, 6, 8, 9を返します。

cut

概要
数値を指定した数に分割し、その間隔の値(下限,上限)を返します。

シンタックス
cut(<数値列>, breaks = <数値>, labels = <文字列>, include.lowest = <TRUE|FALSE>, right = <TRUE|FALSE>, dig.lab = <数値>), ordered_result = <TRUE|FALSE>)

引数


//x = c(1,2,3,4,5,6,7,8,9,10)
cut(x, breaks = 5)
(0.991,2.8] (0.991,2.8] (2.8,4.6] (2.8,4.6] (4.6,6.4] (4.6,6.4] (6.4,8.2] (6.4,8.2] (8.2,10] (8.2,10]を返します。
cut(x, breaks = 2)
(0.991,5.5] (0.991,5.5] (0.991,5.5] (0.991,5.5] (0.991,5.5] (5.5,10] (5.5,10] (5.5,10] (5.5,10] (5.5,10]を返します。
cut(x, breaks = 2, labels = c(1,2))
1 1 1 1 1 2 2 2 2 2を返します。
cut(x, breaks = 2, labels = c("A", "B"))
A A A A A B B B B Bを返します。

difftime

概要
指定された2つの日付・時間の差を計算します。

シンタックス
difftime(<日付・時間列>, <日付・時間列>, tz = <タイムゾーン>, units = <期間の単位>)

引数

返り値
Difftime


difftime("2015-12-10", "2015-12-30") 期間の差として「-20」を日単位で返します。
difftime("2015-12-10", "2015-12-30", unit = "hours")
期間の差として「-480」を時単位で返します。
as.numeric(difftime("2015-12-10", "2015-12-30"))
期間の差として「-20」日を数値として返します。
as.numeric(difftime("2015-12-10", "2015-12-30"), units = "hours")
期間の差として「-480」時を数値として返します。

duplicated

概要
重複した値または行であるかどうかを論理値(TRUE、FALSE)で返します。

シンタックス
duplicated(<列名>, incomparables = <TRUE|FALSE>)

引数

返り値
Logical


// x <- c("a", "b", "c", "a", "b")
duplicated(x)
FALSE FALSE FALSE TRUE TRUEを返します。 duplicated(x, incomparables = "a")
FALSE FALSE FALSE FALSE TRUEを返します。
duplicated(ARR_TIME) 各行に対してTRUEまたはFALSEを返します。
filter(duplicated(ARR_TIME, ARR-DELAY))
重複した行のみを保持します。

exp

概要
ネイピア数(オイラー数)のe(~2.718)の累乗を返します。

シンタックス
exp(<数値列>)

返り値
Numeric


exp(revenue)
revenueの指数化した値を返します。

factor

概要
レベル(順序)を指定して、列をFactor型に変換します。

シンタックス
factor(<列名>, levels = <値>, labels = <文字列>, exclude = <文字列>, ordered = <TRUE|FALSE>, nmax = <数値>)

引数

返り値
Factor

factor(color, levels = c("Gold","Silver","Bronze"), ordered=TRUE)

Before:

color counts
Bronze 8
Silver 12
Gold 15

After:

color counts
Gold 15
Silver 12
Bronze 8

floor

概要

数値を整数または指定した小数点で切り捨てる。

シンタックス

floor(<数値列>, digits = <桁数>)

引数

返り値
Numeric


floor(3.475, digits=2) Returns 3.47

iconv

概要
指定されたテキストをあるエンコーディングから別のエンコーディングに変換します。

シンタックス
iconv(<列名>, from = <変換前のエンコーディング>, to = <変換後のエンコーディング>, sub = <文字列>, mark = <TRUE|FALSE>, toRaw = <TRUE|FALSE>)

引数

返り値
Character


iconv(x, "ISO_8859-1", "UTF-8")
Converts a given text from "ISO_8859-1" to "UTF-8".

ifelse

概要
条件の結果に基づいて、異なる値を返します。

シンタックス
ifelse(<条件>, <条件にマッチした時に返す値>, <条件にマッチしない時に返す値>)

引数

返り値


//x <- 1,2,3,4,5
ifelse(x > 3, "Bigger", "Smaller")
"Smaller" "Smaller" "Smaller" "Bigger" "Bigger"を返します。

intersect

Summary
Keep the rows that appear in all of the given data frames.

Syntax
Intersect(<data_set(s)>, ...)

Example
Intersect(DATA_2015)
Keep the rows that appear in the original data and DATA_2015.

is.character

概要
指定されたオブジェクトがCharacter(文字列)型の場合はTRUEを返します。

シンタックス
is.character

返り値
Logical

mutate_if(is.character, str_to_lower)
すべてのCharacter型の列の文字列を小文字に変換します。

is.double

概要
指定されたオブジェクトがDouble(不動小数点)型の場合はTRUEを返します。

シンタックス
is.double

返り値
Logical

mutate_if(is.double, round)
すべてのDouble型の列を四捨五入します。
mutate_if(is.double, funs(. * 0.2))
すべてのDouble型の列に0.2を乗算して、既存の列を上書きします。
mutate_if(is.double, funs(calc = . * 0.2))
すべてのDouble型の列に0.2を乗算して、新規列を作成します。
summarize_if(is.double, mean) すべてのDouble型の列の平均値を計算します。

is.factor

概要
指定されたオブジェクトがFactor(順序付きカテゴリー型)の場合はTRUEを返します。

シンタックス
is.factor

返り値
Logical

mutate_if(is.factor, as.character)
すべてFactor型の列をCharacter型の列に変換します。

is.list

概要
指定されたオブジェクトがList型の場合はTRUEを返します。

シンタックス
is.list

返り値
Logical

select_if(is.list)
リスト型の列のみを選択します。

is.logical

概要
指定されたオブジェクトがLotical(論理値)型の場合はTRUEを返します。

シンタックス
is.logical

返り値
Logical

mutate_if(is.logical, as.numeric)
すべてのLogical型の列の値を数値(1、0)に変換します。
summarize_if(is.logical, sum) すべてのLogical型の列のTRUEの合計値を集計します。

is.matrix

概要
指定されたオブジェクトがMatrix型の場合はTRUEを返します。

シンタックス
is.matrix

返り値
Logical

mutate_if(is.matrix, scale)
すべてのMartix型の列の行列をスケールして中央に配置します。

is.na

概要
欠損値の場合にTRUEを返します。

シンタックス
is.na(<列名>)

返り値
Logical


is.na(ARR-DELAY)
ARR-DELAY列で欠損値の行にTRUE、欠損値でない行にはFALSEを返します。

is.null

概要
nullの場合にTRUEを返します。

シンタックス
is.null(<列名>)

返り値
Logical


is.null(ARR-DELAY)
ARR-DELAY列でnullの行にTRUE、nullでない行にはFALSEを返します。

is.numeric

概要
指定されたオブジェクトがNumeric(数値)型の場合はTRUEを返します。

シンタックス
is.numeric

返り値
Logical

mutate_if(is.numeric, funs(. * 0.2))
すべてのNumeric型の列に0.2を乗算して、既存の列を上書きします。
mutate_if(is.numeric, funs(calc = . * 0.2))
すべてのNumeric型の列に0.2を乗算して、新規列を作成します。
summarize_if(is.numeric, mean) すべてのNumeric型の列の平均値を計算します。

isTRUE

概要
指定された値がTRUEである場合にのみTRUEを返します。

シンタックス
isTRUE()

返り値
Logical


isTRUE(TRUE)
TRUEを返します。
isTRUE(FALSE)
FALSEを返します。
summarise(a = isTRUE(mean(ARR-DELAY) > 120))
各グループのARR-DELAYの平均値に基づいてTRUEまたはFALSEを返します。

length

概要
値の長さを返します。

シンタックス
length(<列名>)

返り値
Numeric


summarize(text_length = length(TAIL_NUM))
各グループの値の数を返します。

levels

概要
指定されたFactor型のレベルを返します。

シンタックス
levels(<列名>)


// x <- as.factor(c("a", "b", "c", "d", "e", "a", "b", "a"))
levels(x)
"a" "b" "c" "d" "e"を返します。
summarise(n = length(levels(as.factor(flight$CARRIER))))
16を返します。

list

概要
リストを作成します。

シンタックス
list(<列>)

返り値
List


list(sales = 0, profit = 10)
[sales = 0, profit = 10]の名前つきのリストを作成します。

log

概要
対数を返します。デフォルトは自然対数での値を返します。

シンタックス
log(<数値列>, base = <数値>)

引数

返り値
Numeric


log(売上)

log10

概要
常用対数(10を底とする対数)を返します。

シンタックス
log10(<数値列>, base = <数値>)

引数

返り値
Numeric


log10(売上)

log1p

概要
log(1+数値) の値を返します。数値がゼロに近い場合でも、正確な値が計算できます。

シンタックス
log1p(<数値列>, base = <数値>)

引数

返り値
Numeric


log1p(Sales)

log2

概要
二進対数(2を底とする対数)を返します。

シンタックス
log2(<数値列>, base = <数値>)

引数


Numeric


log2(売上)

max

概要
すべての値の最大値を返します。

シンタックス
max(<数値またはロジカル型の列>, na.rm = <TRUEまたはFALSE>)

引数


max(売上) 売上の最大値を返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

mean

概要
すべての値の平均値を返します。

シンタックス
mean(<数値またはロジカル型の列>, na.rm = <TRUEまたはFALSE>, trim = <数値>)

引数

返り値
Numeric


mean(売上) 売上の平均値を返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

min

概要
すべての値の最小値を返します。

シンタックス
min(<数値またはロジカル型の列>, na.rm = <TRUEまたはFALSE>)

引数


min(売上) 売上の最小値を集計した結果を返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

months

概要

計算に使用できるように、数値を月の単位に変換します。

シンタックス
months(<数値列>)

返り値
Period


months(1) "1m 0d 0H 0M 0S"を返します"
ymd_hms("2015-10-01 06:15:30") + months(1)
"2015-11-01 06:15:30 UTC"を返します

nchar

概要
指定された値の文字数またはサイズを返します。

シンタックス
nchar(<列名>, type = "chars"|"bytes"|"width", allowNA = <TRUE|FALSE>)

引数

返り値
Numeric


nchar("Exploratory")
11を返します。
nchar("売上")
2を返します。
nchar("売上", type = "bytes")
6を返します。

pmax

概要
並列する値のうち、どちらかの最大値を返します。

シンタックス
pmax(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


x <- c(1, 2, 3, 4, 5) y <- c(3, 3, 3, 3, 3) pmax(x, y)
3 3 3 4 5を返します。
pmax(Value1, Value2, na.rm = TRUE) Value1またはValue2のうち、どちらかの大きい値を返します。

pmin

概要
並列する値のうち、どちらかの最小値を返します。

シンタックス
pmin(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


x <- c(1, 2, 3, 4, 5)
y <- c(3, 3, 3, 3, 3)
pmin(x, y)
1 2 3 3 3を返します。
pmmin(Value1, Value2, na.rm = TRUE) Value1またはValue2のうち、どちらかの小さい値を返します。

prod

概要
指定されたデータの一連の数値を乗算して積値を返します。

シンタックス
prod(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


// x <- 1:5
prod(x)
120を返します。

range

概要
指定されたデータの最小値と最大値を返します。

シンタックス
range(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値


// x <- c(1, 2, 3, 4, 5)
1と5を返します。
filter(ARR-DELAY %in% range(DEP-DELAY, na.rm = TRUE))
ARR-DELAYがDEP-DELAYの範囲内にある行のみを保持します。

rep

概要
Repeats given numbers.

シンタックス
rep(<列名>, times = <数値>, length_out = <数値>, each = <数値>)

引数

返り値
Numeric


// x <- c(1, 2, 3, 4, 5)
rep(x, 2)
Returns 1 2 3 4 5 1 2 3 4 5
rep(x, times = 2)
Returns 1 2 3 4 5 1 2 3 4 5
rep(x, length.out = 8)
Returns 1 2 3 4 5 1 2 3
rep(x, times = 2, each = 2)
Returns 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5
rep(x, length.out = 8, each = 2)
Returns 1 1 2 2 3 3 4 4

rev

概要
Reverses the entries in a given data.

シンタックス
rev(<列名>)

返り値


// x <- c(1, 2, 3, 4, 5)
rev(x)
Returns 5 4 3 2 1

round

概要

数値を整数または指定した小数点で四捨五入する。

シンタックス
round(<数値列>, digits = <桁数>)

引数

返り値
Numeric


round(3.475, digits=2)
3.48を返します。

seq

概要
Returns a sequence of numbers.

シンタックス
seq(from = <数値>, to = <数値>, by = <数値>, length.out = <数値>, along.with = <列名>)

引数

返り値
Numeric


seq(1, 5)
Returns 1 2 3 4 5 seq(1, 5, by = 2)
Returns 1 3 5
seq(1:5)
Returns 1 2 3 4 5
seq(0, 1, length.out = 11)
Returns 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
seq(ymd("2017-04-01"), by = "month", length.out = 6) Returns "2017-04-01" "2017-05-01" "2017-06-01" "2017-07-01" "2017-08-01" "2017-09-01" - It will generate date values for the next 6 months.

setdiff

Summary
Keep the rows that appear in the first data frame but not the other data frames.

Syntax
setdiff(<data_set(s)>, ...)

Example
setdiff(DATA_2015)
Keep the rows that appear in the original data frame but not in DATA_2015

sign

概要
値が正、0、または負であるかどうかに応じて、それぞれ1、0、-1を返します。

シンタックス
sign(<数値列>)

返り値
Numeric


// x <- c(1, 2, 10, 0, -1, -2, -10)
sign(x)
1 1 1 0 -1 -1 -1を返します。

signif

概要
値を指定した有効桁数に四捨五入します。

シンタックス
signif(<数値列>, digits = <数値>)

引数

返り値
Numeric


signif(3.475, digits=2)
3.5を返します。

sin

概要
指定された角度のサインをラジアン単位で返します。

シンタックス
sin(<数値列>)

返り値
Numeric


sin(X1) X1列に対してsinで計算した値を返します。

sinh

概要
任意の実数の双曲線正弦を返します。

シンタックス
sinh(<数値列>)

返り値
Numeric


sinh(X1) X1列に対してsinhで計算した値を返します。

sinpi

概要
sin(pi * )を返します。

シンタックス
sinpi(<数値列>)

返り値
Numeric


sinpi(X1) X1列に対してsinpiで計算した値を返します。

sqrt

概要
値の平方根を返します。

シンタックス
sqrt(<数値列>)

返り値
Numeric


sqrt(revenue) revenue列の平方根の値を返します。

sum

概要
すべての値の合計値を返します。

シンタックス
sum(<数値またはロジカル型の列>, na.rm = <TRUEまたはFALSE>)

引数

返り値
Numeric


sum(売上)
売上の合計値を返します。主に集計の際に使用されますが、計算を作成でも使用することができます。

tan

概要
指定された角度のタンジェントをラジアン単位で返します。

シンタックス
tan(<数値列>)

返り値
Numeric


tan(X1) X1列に対してtanで計算した値を返します。

tanh

概要
任意の実数の双曲線正接を返します。

シンタックス
tanh(<数値列>)

返り値
Numeric


tanh(X1) X1列に対してtanhで計算した値を返します。

tanpi

概要
tan(pi * )を返します。

シンタックス
tanpi(<数値列>)

返り値
Numeric


tanpi(X1) X1列に対してtanpiで計算した値を返します。

trunc

概要
数値の小数点以下を切り捨てます。

シンタックス
trunc(<数値列>)

返り値
Numeric


trunc(3.475)
3を返します。

union

Summary
Keep the rows that appear in one of the given data frames.

Syntax
union(<data_set(s)>, ...)

Example
union(DATA_2015)
Keep the rows that appear in either or both the original data frame and DATA_2015.

unique

概要
一意な値の数を返します。

シンタックス
unique(<列名>, incomparables = <TRUE|FALSE>, fromLast = <TRUE|FALSE>, nmax = <数値>)

引数

返り値
Numeric


summarize(text_length = length(unique(TAIL_NUM)))
TAIL_NUMの各グループの一意な値の数を返します。

which

概要
論理ベクトル内の値の位置を返します。

シンタックス
which(<条件>, arr.ind = <TRUE|FALSE>, useNames = <TRUE|FALSE>)

引数

返り値
Numeric


x <- c("a", "b", "c", "d", "e")
which(x == "c")
3を返します。
select(which(sapply(., is.numeric)))
数値型の列のみを残します。

xor

概要
2つの値の排他的論理和のチェックを実行し、2つの値のうち1つだけがTRUEの場合のみTRUEを返します。

シンタックス
xor(<TRUE|FALSE>, <TRUE|FALSE>)

返り値
Logical


xor(TRUE, TRUE)
FALSEを返します。
xor(TRUE, FALSE)
TRUEを返します。 xor(FALSE, TRUE)
TRUEを返します。
xor(FALSE, FALSE)
FALSEを返します。

anti_join

Summary
Return all rows from the current data frame where there are not matching values in the target, keeping just columns from the current.

Syntax
anti_join(<data_set>, by = "<column>")
anti_join(<data_set>, by = c("<source_column>" = "<target_column>"))

Arguments

Example
anti_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
anti_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
anti_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.

arrange

Summary
Sort rows by given column(s).

Syntax
arrange(<column(s)>)

Used Together
desc

Example
arrange(POPULATION)
Sort by POPULATION values in a ascending order.
arrange(desc(POPULATION))
Sort by POPULATION values in a descending order.
arrange(POPULATION, PRODUCTION)
Sort by POPULATION, PRODUCTION columns in a ascending order.
arrange(-POPULATION, -PRODUCTION)
Sort by POPULATION, PRODUCTION columns in both descending order. This is an equivalent to the following
arrange(desc(POPULATION), desc(PRODUCTION))

between

概要
注目している値が、指定された範囲内にあるかどうかをもとに、 TRUE または FALSE を返します。

シンタックス
between(<数値列または日付列>, <left>, <right>)

引数

返り値 Logical


filter(between(売上, 1000, 6000))
売上が 1000から6000 の間のデータにフィルタします。

bind_cols

Summary
Bind multiple data frames by column.

Syntax
bind_cols(<data_set(s)>)

Example
bind_cols(ECONOMY)
Add columns from a data frame 'ECONOMY' to the existing data frame.

bind_rows

Summary
Bind multiple data frames by row.

Syntax
bind_rows(<data_set(s)>, id_column_name = <text>, current_df_name=<text>, force_data_type=<logical>, encoding=<encoding>)

Arguments

Example

Existing data:

DATA2013

date sales product_id
11/05/2013 5000 1
12/20/2013 2000 2

Additional data to bind:

DATA2014

date sales product_id
01/05/2014 1000 1
02/20/2014 2000 2

DATA2015

date sales product_id
01/05/2015 3000 1
02/20/2015 3000 2

bind_rows(DATA2014)

Add a data frame 'DATA2014' to the existing data.

date sales product_id
11/05/2013 5000 1
12/20/2013 2000 2
01/05/2014 1000 1
02/20/2014 2000 2

bind_rows(DATA2014, DATA2015)

Add rows from a data frame 'DATA2014' and 'DATA2015' to the existing data.

date sales product_id
11/05/2013 5000 1
12/20/2013 2000 2
01/05/2014 1000 1
02/20/2014 2000 2
01/05/2015 3000 1
02/20/2015 3000 2

bind_rows(DATA2014, DATA2015, force_data_type = TRUE)

Add rows from a data frame 'DATA2014' and 'DATA2015' to the existing data and force all columns data types as character, then reevaluate columns types after the merge.

For example, if product_id column only has character values for DATA2015, the product_id column data type is Character. And if you try to bind this to other data frames whose the product_id column data type is Integer, it gives an error becuase of this data type mismatch.

date sales product_id
01/05/2015 3000 a
02/20/2015 3000 b

In this case you can set force_data_type argument as TRUE. This will create a data frame like below:

date sales product_id
11/05/2013 5000 1
12/20/2013 2000 2
01/05/2014 1000 1
02/20/2014 2000 2
01/05/2015 3000 a
02/20/2015 3000 b

bind_rows(DATA2014, DATA2015, current_df_name = "DATA2013", id_column_name = "df_name")

Add rows from a data frame 'DATA2014' and 'DATA2015' to the DATA2013 and it will create a column called 'df_name' and use "DATA2013", "DATA2014", and "DATA2015" to mark each row from two data frames

df_name date sales product_id
DATA2013 11/05/2013 5000 1
DATA2013 12/20/2013 2000 2
DATA2014 01/05/2014 1000 1
DATA2014 02/20/2014 2000 2
DATA2015 01/05/2015 3000 1
DATA2015 02/20/2015 3000 2

count

Summary
Summarize the data by either calling n() or sum() for each group.

Syntax
count(<column(s)>, wt = <column_num_or_base_aggregate_expression>, sort = <logical>)

Arguments

Example
count(CARRIER)
Groups by 'CARRIER' and returns the number of rows for each 'CARRIER'.
count(CARRIER, sort = TRUE)
Groups by 'CARRIER' and returns the number of rows for each 'CARRIER' from the highest number to the lowest.
count(CARRIER, wt = ARR_DELAY)
Groups by 'CARRIER' and returns the sum total of 'ARR_DELAY'.
count(CARRIER, TAIL_NUM, wt = ARR_DELAY)
Groups by 'CARRIER' and 'TAIL_NUM', and returns the sum total of 'ARR_DELAY'.
count(CARRIER, wt = ARR_DELAY, sort = TRUE)
Groups by 'CARRIER' and returns the sum total of 'ARR_DELAY' and sorted by the total number.
count(CARRIER, wt = mean(ARR_DELAY, na.rm = TRUE))
Groups by 'CARRIER' and returns the average of 'ARR_DELAY' after removing NA values.

cumall

概要

現在の位置までのすべての値がTRUE のときにTRUE を返します。

シンタックス
cumall(<条件>)

引数

返り値 Logical


// X = TRUE, TRUE, FALSE, TRUE, FALSE
cumall(X)
TRUE, TRUE, FALSE, FALSE, FALSEを返します。

cumany

概要
現在の位置までの値のいずれかが TRUE ならば TRUE を返します。

シンタックス
cumany(<条件>)

引数

返り値 Logical


// X = TRUE, TRUE, FALSE, TRUE, FALSE
cumany(X)
TRUE, TRUE, TRUE, TRUE, TRUEを返します。

cume_dist

概要
その値の順位以下の全値の割合である累積分布を返します。欠測値の場合は、欠損値を返します。

シンタックス
cume_dist(<数値列>)

返り値 Numeric


mutate(<新しい列名> = cume_dist(<数値列>))
累積分布の値を含む新しい列を作成します。
filter(cume_dist(<数値列>) < .25)
累積分布の値が 0.25 より小さい行を選択します。

cummean

概要
累積平均を返します。

シンタックス
cummean(<数値列>)

引数

返り値 Numeric


// X = 1, 2, 3, 2, 1
cummean(X)
1, 3, 6, 8, 9を返します

dense_rank

概要
隙間のない順位を返します。 欠損値の場合は、欠損値がそのまま残ります。

シンタックス
dense_rank(<数値列>)

返り値 Numeric


mutate(人口ラングキング = dense_rank(人口))
「人口」の値をもとにランキングの新しい列を作成します。
filter(dense_rank(人口) < 10)
ランク番号が 10 未満の行を選択します。

desc

Summary
Change the sorting order to a descending order. e.g. 9 to 1 instead of 1 to 9, z to a instead of a to z.

Syntax
desc(<column>)

Example
arrange(desc(POPULATION))
Sort by POPULATION values in a descending order.
arrange(desc(POPULATION), desc(PRODUCTION))
Sort by POPULATION, PRODUCTION columns in both descending order.

distinct

Summary
Select distinct/unique rows. Only the first row will be preserved. Set .keep_all argument to TRUE to keep all the original columns.

Syntax
distinct(<column(s)>, .keep_all = <logical>)

Arguments

Example
distinct()
Keep only unique/distinct rows based on all the columns.
distinct(CARRIER, TAIL_NUM, FL_NUM)
Keep only unique/distinct rows based on CARRIER, TAIL_NUM, FL_NUM columns.
distinct(CARRIER, .keep_all = TRUE)
Keep only unique/distinct rows based on CARRIER and return all the columns.

filter

Summary
Select rows with conditions.

Syntax
filter(<condition>)

Used Together
is.na, between,

Example
filter(revenue < 6000)
Keep data whose revenue is less than 6000.
filter(revenue < 6000 & region == “West")
Keep data whose revenue is less than 6000 AND region is "West".
filter(revenue < 6000 | region == “West")
Keep data whose revenue is less than 6000 OR region is "West".
filter(between(revenue, 1000, 6000))
Keep data whose revenue is between 1000 and 6000.
filter(is.na(revenue))
Keep data whose revenue is NA.
filter(!is.na(revenue))
Keep data whose revenue is NOT NA.

first

概要
最初の値を返します。

シンタックス
first(<列名>, order_by = <列名>, default = <文字列>)

引数


summarize( 最初の名前 = first(名前))
各グループの最初の値を返す新しい列を作成します。

full_join

Summary
Return all rows and all columns from both the current data frame and the target data frame.

Syntax
full_join(<data_set>, by = "<column>", suffix = c("<source_suffix>", "<target_suffix>"))
full_join(<data_set>, by = c("<source_column>" = "<target_column>"), suffix = c("<source_suffix>", "<target_suffix>"))

Arguments

Example
full_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
full_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
full_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.

funs

Summary
funs provides a flexible way to generate a named list of functions for input to other functions like summarise_each.

Syntax
funs(<function_name(s)>)

Arguments

A list of functions specified by: * Their name, "mean" * The function itself, mean * A call to the function with . as a dummy parameter, mean(., na.rm = TRUE)

Example
funs(mean, "mean", mean(., na.rm = TRUE))
# Override default names
funs(m1 = mean, m2 = "mean", m3 = mean(., na.rm = TRUE))

group_by

Summary
Converts the data frame into a grouped data frame where the following operations will be performed based on the groups. Grouping should be done before you want to aggregate values.

Syntax
group_by(<column(s)>)

Example
group_by(COUNTRY)
Group the data by COUNTRY.
group_by(REGION, COUNTRY)
Group the data by REGION and COUNTRY.
group_by(FIRSTNAME + LASTNAME)
Group by a dynamically generated value of 'FIRSTNAME + LASTNAME'

inner_join

Summary
Return all rows from the current data frame where there are matching values in the current, and all columns from the current and the target.

Syntax
inner_join(<data_set>, by = "<column>", suffix = c("<source_suffix>", "<target_suffix>"))
inner_join(<data_set>, by = c("<source_column>" = "<target_column>"), suffix = c("<source_suffix>", "<target_suffix>"))

Arguments

Example
inner_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
inner_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
inner_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.

lag

概要
注目している値より前の値を返します。

シンタックス
lag(<列>, n = <数値>, default = <文字列>, order_by = <単一または複数列>)

引数


// x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
lag(x)
NA 1 2 3 4 5 6 7 8 9 を返します
lag(x, 2)
NA NA 1 2 3 4 5 6 7 8 を返します

last

概要
最後の値を返します。

シンタックス
last(<列名>, order_by = <列名>, default = <文字列>)

引数


summarize(最後の名前 = last(名前))
各グループの最後の値を返す新しい列を作成します。

lead

概要
注目している値よりも後の値を返します。

シンタックス
lead(<列>, n = <数値>, default = <文字列>, order_by = <単一または複数列>)

引数


// x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
lead(x)
2 3 4 5 6 7 8 9 10 NA を返します
lead(x, 2)
3 4 5 6 7 8 9 10 NA NA を返します

left_join

Summary
Return all rows from the current data frame, and all columns from the current and the target. Rows in the current with no match in the target will have NA values in the new columns. If there are multiple matches between the current and the target, all combinations of the matches are returned.

Syntax
left_join(<data_set>, by = "<column>", suffix = c("<source_suffix>", "<target_suffix>"))
left_join(<data_set>, by = c("<source_column>" = "<target_column>"), suffix = c("<source_suffix>", "<target_suffix>"))

Arguments

Example
left_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
left_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
left_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.
left_join(AIRPORT, by = c("DEST" = "CODE", "MONTH" = "MON")
Join with AIRPORT data frame using DEST and MONTH columns from the original data frame and CODE and MON from the target respectively.

min_rank

概要
隙間のある順位を返します。同じ順位のときには、最小の順位を返します。 欠損値の場合は、欠損値がそのまま残ります。

シンタックス
min_rank(<数値列>)

返り値 Numeric


mutate(人口のランキング = min_rank(人口))
「人口」の値にもとづくランキングの列を作成します。 数字が小さいほどランキングが高くなります。

mutate(人口のランキング = min_rank(desc(人口)))
「人口」の値に基づくランキングの列を作成します。数字が大きいほどランキングが高くなります。
filter(min_rank(人口) < 10)
ランク番号が 10 未満の行を選択します。

mutate

Summary
Mutate creates new column(s) with given expressions and preserves existing . You can use transmute to create new columns while removing the original ones.

Syntax
mutate(<new_column> = <expression>, ...)

Example
mutate(profit = revenue - expense)
Create 'profit' column based on the calculation result of 'revenue - expense'.

n

概要
各グループの行数を返します。

シンタックス
n()

引数

返り値 Numeric


summarize(total = n())
各グループの行数を計算するための新しい列を作成します。

n_distinct

概要
一意な値の数を返します。

シンタックス
n_distinct(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値 Numeric


summarize(total = n_distinct(TAIL_NUM))
グループごとのTAIL_NUMの一意な値の数を計算する新しい列を作成します。

summarize(total = n_distinct(州, 街))
グループごとの州と街の一意な組み合わせの数を計算する新しい列を作成します。

nth

概要
n番目の値を返します。

シンタックス
nth(<列名>, n = <数値>, order_by = <列名>, default = <文字列>)

引数


summarize(total = nth(name, 5))
各グループの5番目の値を返します。

summarize(total = nth(name, -5))
各グループの最後から5番目の値を返します。

ntile

概要

列の値をもとに n 個に分割します。 欠損値はそのまま残されます。

シンタックス
ntile(<列名>, <数値>)

引数

返り値 Numeric


mutate(quartile = ntile(売上, 4))
「売上」列の値を 4 つに分割して、四分位の列を生成します。

percent_rank

概要
0から1間で順位比率を返します。 欠損値の場合は、欠損値がそのまま残ります。

シンタックス
percent_rank(<数値列>)

返り値 Numeric


mutate(人口ランキング = percent_rank(人口))
「人口」の値をもとに、順位比率の列を作成します。
filter(percent_rank(人口) < .25)
順位比率が 0.25 未満の行を選択します。

rename

Summary
Rename existing column names.

Syntax
rename(<new_column_name> = <column>, ...)

Example
rename(state = X1)
Rename X1 with 'state'
rename(state = X1, country = X2)
Rename X1 with 'state' and X2 with 'country'

right_join

Summary
Return all rows from the target data frame, and all columns from the current and the target

Syntax
right_join(<data_set>, by = "<column>", suffix = c("<source_suffix>", "<target_suffix>"))
right_join(<data_set>, by = c("<source_column>" = "<target_column>"), suffix = c("<source_suffix>", "<target_suffix>"))

Arguments

Example
right_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
right_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
right_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.

row_number

概要
行番号を返します。

シンタックス
row_number()

引数

返り値 Numeric


mutate(行番号 = row_number())
各行の行番号を返します。

sample_frac

Summary
Sample n fraction of rows from the data frame.

Syntax
sample_frac(<number>, weight=<column_num>, replace=<logical>)

Arguments

Example
sample_frac(.2)
Select randomly selected 20% of of data.
sample_frac(.2, weight = ARR_DELAY)
Select randomly selected 20% of of data with a weight on ARR_DELAY column.

sample_n

Summary
Sample n rows from the data frame.

Syntax
sample_n(<number>, weight=<column_num>, replace=<logical>)

Arguments

Example
sample_n(100)
Select 100 randomly selected rows.
sample_n(100, weight = ARR_DELAY)
Select 100 randomly selected rows from the data with a weight on ARR_DELAY column.

select

Summary
Select column(s) by column names.

Syntax
select(<column(s)>,...)
select(-<column(s)>,...)
select(starts_with(<text>, ignore.case = <logical>))
select(ends_with(<text>, ignore.case = <logical>))
select(contains(<text>, ignore.case = <logical>))
select(matches(<text>, ignore.case = <logical>))
select(num_range(<text>, <start_num>:<end_num>))
select(any_of(<text1>, <text2>, ...))
select(<column>, everything())

Arguments

Used Together
starts_with, ends_with, contains, matches, num_range, any_of, everything

Example
select(X, Y)
Select column X and Y.
select(-X,- Y)
Remove column X and Y.
select(starts_with("X", ignore.case = TRUE))
Select only columns whose name starts with "X"
select(ends_with("ABR", ignore.case = TRUE))
Select only columns whose name ends with "ABR"
select(contains("ABR", ignore.case = TRUE))
Select only columns whose name contains with "ABR"
select(matches("[:digit:]+", ignore.case = TRUE))
Select only columns whose names contains digits (regular expression) select(num_range("X", 1:6))
Selects all columns (numerically) from X1 to X5. 
select(any_of("x", "y", "z”))
Selects columns provided inside the brackets.
select(X, everything())
Reorder columns: keep the column “X" in the front
select_if(is.numeric)
Select only numeric columns.

semi_join

Summary
Return all rows from the current data frame where there are matching values in the target data frame, keeping just columns from the current.

Syntax
semi_join(<data_set>, by = "<column>")
semi_join(<data_set>, by = c("<source_column>" = "<target_column>"))

Arguments

Example
semi_join(AIRPORT)
Join with AIRPORT data frame using all variables with common names.
semi_join(AIRPORT, by = "CODE")
Join with AIRPORT data frame using CODE columns.
semi_join(AIRPORT, by = c("DEST" = "CODE")
Join with AIRPORT data frame using DEST column from the original data frame and CODE from the target.

slice

Summary
Select rows by positions. This is not supported for relational databases, in which case you should use filter() with row_number() function.

Syntax
slice(<numeric>)
slice(<numeric>:<numeric>)

Arguments

Example
slice(1) : equivalent to -> filter(row_number() == 1)
Select only the first row.
slice(5:n()) : equivalent to -> filter(between(row_number(), 5, n()))
Select only rows starting from the 5th to the last.
slice(n()) : equivalent to -> filter(row_number() == n())
Select only the last row
slice(n()-10:n())
Select only the last 10 rows

summarize

Summary
Summarize a column values to a single value by using aggregate functions. Make sure you have grouped the data frame already using group_by() already.

Syntax
summarize(<new_column> = <aggregate_expression>, ...)

Example
summarise(avg = mean(revenue))
Create a new column 'avg' to store average values of 'revenue' for each group.
summarize(avg = mean(revenue), total = sum(revenue))
Create new columns 'avg' for 'average of revenue' and 'total' for 'sum of revenue' for each group.

tally

Summary
Summarize the data by either calling n() or sum() on top of the grouped data. group_by() operation should have been done before.

Syntax
tally(wt = <column>, sort = <logical>)

Arguments

Example
tally()
Returns the number of rows for each group.
tally(wt = ARR_DELAY)
Returns the sum total of 'ARR_DELAY' for each group.
tally(wt = ARR_DELAY, sort = TRUE)
Returns the sum total of 'ARR_DELAY' and sorted by the total number.

top_n

Summary
Select the top n entries based on a given measure in each group.

Syntax
top_n(<number>, <column_num>)
top_n(<number>, desc(<column_num>))

Arguments

Used Together
desc

Example
top_n(10, POPULATION)
Select the top 10 countries based on POPULATION.
top_n(-10, POPULATION)
Select the bottom 10 countries based on POPULATION. This is equivalent to the next command.
top_n(10, desc(POPULATION))

transmute

Summary
Transmute adds new columns and drops existing columns.

Syntax
transmute(<new_column> = <expression>, ...)

Example
transmute(profit = revenue - expense)
Create 'profit' column based on the calculation result of 'revenue - expense', and drop 'revenue' and 'expense' columns.

ungroup

Summary
Ungroup existing grouping

Syntax
ungroup()

Example
ungroup()
Ungroup the existing groups.

ceiling_date

概要
日付・時間を、指定した単位に最も近い日付、または時間に切り上げます。

シンタックス
ceiling_date(<日付・時間型の列>, unit = <単位>)

引数

返り値
Date / POSIXct

ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "minute")
分で切り上げした"2015-10-01 06:11:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "hour")
時で切り上げした"2015-10-01 07:00:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "day")
日で切り上げした"2015-10-02 00:00:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "week")
週で切り上げした"2015-10-04 00:00:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "month")
月で切り上げした"2015-11-01 00:00:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "quarter")
四半期で切り上げした"2016-01-01 00:00:00 UTC"を返します。
ceiling_date(ymd_hms("2015-10-01 06:10:15"), unit = "year")
年で切り上げした"2016-01-01 00:00:00 UTC"を返します。

date_decimal

概要

年の分数である数値データを日付データに変換します。

シンタックス
date_decimal(<数値列>, tz = <タイムゾーン>)

引数

返り値
POSIXct


date_decimal(2015.953)
"2015-12-14 20:16:47 UTC"を返します。

day

概要

日付型や日付時間型の値から日の情報を抽出します。

シンタックス
day(<日付型または日付時間型の列>)

返り値
Numeric


day("2015-10-01 06:15:30")
1を返します

days

概要

計算に使用できるように、数値を日の単位に変換します。

シンタックス
days(<数値列>)

返り値
Period


days(1) "1d 0H 0M 0S"を返します
ymd_hms("2015-10-01 06:15:30") + days(1)
"2015-10-02 06:15:30 UTC"を返します

decimal_date

概要

日付を年の分数に計算し、日付データを数値データに変換します。

シンタックス
decimal_date(<日付列>)

引数

返り値
Numeric


decimal_date(ymd("2015-12-15"))
2015.953を返します。

dmy

概要

日、月、年の順番の文字列または数値データを日付型に変換します。

シンタックス
dmy(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date


dmy("10-01-2015")
"2015-10-01"を返します。
dmy("10/01/2015")
"2015-10-01"を返します。
dmy("Created on 10 1 2015")
"2015-10-01"を返します。
dmy("1 Oct, 2015", locale = "English")
"2015-10-01"を返します。

dmy_h

概要

日、月、年、時の順番の文字列のデータを日付時間型に変換します。

シンタックス
dmy_h(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


dmy_h("01-10-2015 06:10")
"2015-10-01 06:10:00 UTC"を返します。
dmy_h("Created on 1 10 2015, at 6:10AM")
"2015-10-01 06:10:00 UTC"を返します。
dmy_h("10-01-2015 06", truncated = 1)
"2015-10-01 06:00:00 UTC"を返します。
dmy_h("Oct 01 2015 06", locale = "English")
"2015-10-01 06:00:00 UTC"を返します。

dmy_hm

概要

日、月、年、時、分の順番の文字列のデータを日付時間型に変換します。

シンタックス
dmy_hm(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


dmy_hm("01-10-2015 06:10")
"2015-10-01 06:10:00 UTC"を返します。
dmy_hm("Created on 1 10 2015, at 6:10AM")
"2015-10-01 06:10:00 UTC"を返します。
dmy_hm("01-10-2015 06", truncated = 1)
"2015-10-01 06:00:00 UTC"を返します。
dmy_hm("01 Oct 2015 06:00",locale = "English)
"2015-10-01 06:00:00 UTC"を返します。

dmy_hms

概要

日、月、年、時、分、秒の順番の文字列のデータを日付時間型に変換します。

シンタックス
dmy_hms(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


dmy_hms("01-10-2015 06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
dmy_hms("01/10/2015 06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
dmy_hms("Created on 1 10 2015, at 06:10:15 AM")
"2015-10-01 06:10:15 UTC"を返します。
dmy_hms("01-10-2015 06")
NAを返します。日付時間型に変換する際に十分なデータがないためです。
dmy_hms("01-10-2015 06", truncated = 2)
"2015-10-01 06:00:00 UTC"を返します。truncatedを指定しているため、期待通りの挙動です。
dmy_hms("01 Oct 2015 06:00:00", locale = "English")
"2015-10-01 06:00:00 UTC"を返します。

duration

概要

数値と指定した単位をもとに、秒単位に換算した値を求められます。

シンタックス
duration(<数値列>, units = <単位>)

引数

返り値
Duration


duration(1.5, "minutes") 90秒を返します。
duration(60, "minutes") 3600秒を返します。

dym

概要

日、年、月の順番の文字列または数値データを日付型に変換します。

シンタックス
dym(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date


dym("01-2015-10")
"2015-10-01"を返します。
dym("01/2015/10")
"2015-10-01"を返します。
dym("Created on 1 2015 10")
"2015-10-01"を返します。
dym("1 2015, Oct", locale = "English")
"2015-10-01"を返します。

floor_date

概要

日付・時間を、指定した単位に最も近い日付、または時間に切り捨てます。

シンタックス
floor_date(<日付・時間型の列>, unit = <単位>)

引数

返り値
Date / POSIXct

floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "minute")
分で切り捨てした"2015-10-01 06:10:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "hour")
時で切り捨てした"2015-10-01 06:00:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "day")
日で切り捨てした"2015-10-01 00:00:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "week")
週で切り捨てした"2015-09-27 00:00:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "month")
月で切り捨てした"2015-10-01 00:00:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "quarter")
四半期で切り捨てした"2015-10-01 00:00:00 UTC"を返します。
floor_date(ymd_hms("2015-10-01 06:10:15"), unit = "year")
年で切り捨てした"2015-01-01 00:00:00 UTC"を返します。

force_tz

概要

指定したタイムゾーンに修正します。

シンタックス
force_tz(<日付・時間型の列>, tzone = <タイムゾーン>)

引数

返り値
POSIXct

force_tz(as.POSIXct("2014-01-01 00:00:00", tz = "UTC"), tzone = "Asia/Tokyo")
"2014-01-01 00:00:00 JST"を返します。タイムゾーンのみを日本標準時(JST)に修正した日付・時間の値を返します。

here

概要

設定されているローカルのタイムゾーンの現在時刻を取得します。

シンタックス
here()

返り値
POSIXct


here()
"2015-12-31 00:04:59 PST"を返します。

hm

概要

時と分のデータを期間のデータ型(Period)に変換します。

シンタックス
hm(<列名>, tz = <タイムゾーン>)

引数

返り値
Period


hm("06:10")
"6H 10M 0S"を返します。
hm("06:10", "UTC")
"6H 10M 0S"を返します。

hms

概要
hms型のデータを作成できます。Hms,difftimeの値を計算で使う際には秒単位で処理されます。

シンタックス
hms(seconds = <数値>, minutes = <数値>, hours = <数値>, days = <数値>)

引数

返り値
hms


hms(seconds = 20, minutes = 1, hours = 5)
05:01:20を返します。

hour

概要

日付型や日付時間型の値から時間の情報を抽出します。

シンタックス
hour(<日付型または日付時間型の列>)

返り値
Integer


hour("2015-10-01 06:15:30")
6を返します

hours

概要

計算に使用できるように、数値を時間の単位に変換します。

シンタックス
hours(<数値列>)

返り値
Period


hours(1) "1H 0M 0S"を返します
ymd_hms("2015-10-01 06:15:30") + hours(1) "2015-10-01 07:15:30 UTC"を返します

interval

概要

2つの日付間の間隔を秒単位で返します。この結果を使用して、日、週などの特定の単位で除算するか、as.numeric()で数値型に変換することで期間を取得できます。

シンタックス
interval(<日付列>, <日付列>)

返り値
Interval


interval("2015-10-01", "2015-10-18")
1468800を返します。
interval("2015-10-01", "2015-10-18") %/% days(1)
17を返します。
as.numeric(interval("2015-10-01", "2015-10-18"), units = "days")
17を返します。
interval("2015-10-01", "2015-10-18") %/% weeks(1)
2を返します。

is.Date

概要

指定したオブジェクトが日付型の場合はTRUEを返します。

シンタックス
is.Date

引数

返り値
Logical

mutate_if(is.Date, wday)
日付列から曜日情報を抽出します。
mutate_if(is.Date, funs(week_day = wday))
日付列から曜日情報を抽出し、新しい列を作成します。
mutate_if(is.Date, wday, label = TRUE)
日付列から曜日情報を文字列として抽出し、新しい列を作成します。

is.difftime

概要

指定したオブジェクトがdifftime型の場合はTRUEを返します。

シンタックス
is.difftime

引数

返り値
Logical

mutate_if(is.difftime, as.numeric)
difftime型の列を数値型に変換します。

is.duration

概要

指定したオブジェクトがduration型の場合はTRUEを返します。

シンタックス
is.duration

引数

返り値
Logical

mutate_if(is.duration, as.numeric)
duration型の列を数値型に変換します。

is.POSIXct

概要

指定したオブジェクトがPOSIXct型の場合はTRUEを返します。

シンタックス
is.POSIXct

引数

返り値
Logical

mutate_if(is.POSIXct, wday)
日付時間型の列から曜日情報を抽出します。
mutate_if(is.POSIXct, funs(week_day = wday))
日付時間型の列から曜日情報を抽出し、新しい列を作成します。
mutate_if(is.POSIXct, wday, label = TRUE)
日付時間型の列から曜日情報を文字列として抽出し、新しい列を作成します。

isoweek

概要

年の週番号を抽出します。週の開始曜日は月曜日になっています。

シンタックス
isoweek(<日付列>)

返り値
Numeric


isoweek(ymd(c( \ "2020-01-01",\ "2020-01-02",\ "2020-01-03",\ "2020-01-04",\ "2020-01-05",\ "2020-01-06",\ "2020-01-07",\ "2020-01-08")))\ 1,1,1,1,1,2,2,2を返します。 (2020-01-06が月曜日です。)

mday

概要

日付列から月の日(1-31)を抽出します。

シンタックス
mday(<日付列>)

返り値
Numeric


mday("2015-10-13")
13を返します。

mdy

概要

月、日、年の順番の文字列または数値データを日付型に変換します。

シンタックス
mdy(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date


mdy("01-10-2015")
"2015-10-01"を返します。
mdy("01/10/2015")
"2015-10-01"を返します。
mdy("Created on 1 10 2015")
"2015-10-01"を返します。
mdy("Oct, 1 2015", locale = "English")
"2015-10-01"を返します。

mdy_h

概要

月、日、年、時の順番の文字列のデータを日付時間型に変換します。

シンタックス
mdy_h(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


mdy_h("10-01-2015 06")
"2015-10-01 06:00:00 UTC"を返します。
mdy_h("Created on 10 1 2015 6 AM")
"2015-10-01 06:00:00 UTC"を返します。
mdy_h("Oct 1, 2015 06 AM", locale = "English")
"2015-10-01 06:00:00 UTC"を返します。

mdy_hm

概要

月、日、年、時、分の順番の文字列のデータを日付時間型に変換します。

シンタックス
mdy_hm(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


mdy_hm("10-01-2015T06:10")
"2015-10-01 06:10:00 UTC"を返します。
mdy_hm("Created on 10 1 2015, at 6:10 AM")
"2015-10-01 06:10:00 UTC"を返します。
mdy_hm("Oct 1, 2015 06:10 AM", locale = "English")
"2015-10-01 06:10:00 UTC"を返します。

mdy_hms

概要

月、日、年、時、分、秒の順番の文字列のデータを日付時間型に変換します。

シンタックス
mdy_hms(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


mdy_hms("10-01-2015T06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
mdy_hms("10/01/2015T06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
mdy_hms("Created on 10 1 2015")
"2015-10-01 06:10:15 UTC"を返します。
mdy_hms("10-01-2015 06")
NAを返します。日付時間型に変換する際に十分なデータがないためです。
mdy_hms("10-01-2015 06", truncated = 2)
"2015-10-01 06:00:00 UTC"を返します。truncatedを指定しているため、期待通りの挙動です。
mdy_hms("Oct 1, 2015 06:10:15 AM", locale = "English")
"2015-10-01 06:10:15 UTC"を返します。

milliseconds

概要

数値をミリ秒に変換してPeriod型として値を返します。

シンタックス
milliseconds(<数値列>)

返り値
Period


milliseconds(1) "0.001"を返します。

minute

概要

日付型や日付時間型の値から分の情報を抽出します。

シンタックス
minute(<日付列>)

返り値
Integer


minute("2015-10-01 06:15:30")
15を返します

minutes

概要

計算に使用できるように、数値を分の単位に変換します。

シンタックス
minutes(<数値列>)

返り値
Period


minutes(1)_
"1M 0S"を返します
ymd_hms("2015-10-01 06:15:30") + minutes(1)
"2015-10-01 06:16:30 UTC"を返します

month

概要

日付型や日付時間型の値から月の情報を抽出します。

シンタックス
month(<日付型または日付時間型の列>, label = <logical>, abbr = <logical>, locale = <ロケール>)

引数

返り値
Numeric or Text


month("2015-10-01 06:15:30")
10を返します
month("2015-10-01 06:15:30", label = FALSE) "10月"を返します
month("2015-10-01 06:15:30", label = TRUE, abbr = TRUE)
"10"を返します

ms

概要

分と秒のデータを期間のデータ型(Period)に変換します。

シンタックス
ms(<列名>, tz = <タイムゾーン>)

引数

返り値
Period


ms("10:15")
"615"を返します。これは10分15秒を秒単位に直した値です。

myd

概要

月、年、日の順番の文字列または数値データを日付型に変換します。

シンタックス
myd(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date

myd("01-2015-10")
"2015-01-10"を返します。
myd("01/2015/10")
"2015-01-10"を返します。
myd("Created on 1 2015 10")
"2015-01-10"を返します。
myd("Oct, 2015 1 ", locale = "English")
"2015-10-01"を返します。

now

概要

日付を含む現在時刻を返します。似た関数に'today()'があり、today関数は今日の日付のみを返します。

シンタックス
now(tzone = <タイムゾーン>)

引数

返り値
POSIXct


now()
"2015-12-31 08:04:59 PST"を返します
now("GMT")
"2015-12-31 08:04:59 PST"を返します
now("America/Los_Angeles")
"2015-12-31 00:04:59 PST"を返します

parse_date_time

概要

データを日付時間型に変換します。

シンタックス
parse_date_time(<列名>, orders = <日付時間の順序>, locale = <ロケール>, tz = <タイムゾーン>, truncated = <数値>, quiet = <TRUE|FALSE>, exact = <TRUE|FALSE>, lt = <TRUE|FALSE>)

引数

返り値
POSIXct


parse_date_time("03/15/05 1:30 PM", "mydHMp")
"2015-03-05 13:30:00 PDT"を返します。
lubridate::parse_date_time("1:30 PM", "HMp")
"0000-01-01 13:30:00 PDT"を返します。各パラメータのデフォルトは0で、常にPOSIXctを返します。

qday

概要

日付列から四半期の最初の日からの日数(1-92)を抽出します。

シンタックス
qday(<日付列>)

返り値
Numeric


qday("2020-02-08")
39を返します。

quarter

概要

日付型や日付時間型の値から四半期の情報を抽出します。

シンタックス
quarter(<日付列>)

返り値
Numeric


quarter("2015-08-01 06:15:30") 3を返します
quarter("2015-06-16 07:42:29") 2を返します

rollback

概要

日付データを前月の末日、またはその月の最初の日に丸め処理します。

シンタックス
rollback(<日付列>, roll_to_first = <TRUE|FALSE>, preserve_hms = <TRUE|FALSE>)

引数

返り値
POSIXct


rollback(ymd("2020-04-03")) "2020-03-31"を返します。

rollback(ymd("2020-04-03"), roll_to_first = TRUE)
"2020-04-01"を返します。

rollback(ymd_hms("2020-04-03 09:21:45"), preserve_hms = FALSE)
"2020-03-31 00:00:00"を返します。

round_date

概要

日付・時間を、指定した単位に最も近い日付、または時間に丸めます。

シンタックス
round_date(<日付・時間型の列>, unit = <単位>)

引数

返り値
Date / POSIXct

round_date(ymd_hms("2015-10-01 06:10:15"), unit = "minute")
分で丸め処理した"2015-10-01 06:10:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "hour")
時で丸め処理した"2015-10-01 06:00:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "day")
日で丸め処理した"2015-10-01 00:00:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "week")
週で丸め処理した"2015-10-04 00:00:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "month")
月で丸め処理した"2015-10-01 00:00:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "qurter")
四半期で丸め処理した"2015-10-01 00:00:00 UTC"を返します。 round_date(ymd_hms("2015-10-01 06:10:15"), unit = "year")
年で丸め処理した"2015-01-01 00:00:00 UTC"を返します。

second

概要

日付型や日付時間型の値から秒の情報を抽出します。

シンタックス
second(<日付型または日付時間型の列>)

返り値
Integer


second("2020-10-01 06:15:30")
30を返します

seconds

概要

計算に使用できるように、数値を秒の単位に変換します。

シンタックス
seconds(<数値列>)

返り値
Period


seconds(1) "1S"を返します
ymd_hms("2015-10-01 06:15:30") + seconds(1)
"2015-10-01 06:15:31 UTC"を返します

time_length

概要

2つの日付間の正確な期間を計算して数値として値を返します。

シンタックス
time_length(<interval_or_duration>, unit = <unit>)

引数

返り値
Numeric


time_length(interval("2015-10-01", "2015-10-18"), "day")
17を返します。
time_length(interval("2015-10-01", "2015-10-18"), "month")
0.5483871を返します。
trunc(time_length(interval("2015-10-01", "2015-10-18"), "month"))
0を返します。
round(time_length(interval("2015-10-01", "2015-10-18"), "month"))
1を返します。

today

概要

今日の日付を返します。似た関数に'now()'があり、now関数は現在時刻含む今日の日付を返します。

シンタックス
today(tzone = <タイムゾーン>)

引数

返り値
Date


today("GMT")
"2015-12-31"を返します

today("America/Los_Angeles")
"2015-12-31"を返します

wday

概要

日付列から曜日(1-7)を数値(例: 月曜日は1)、または文字列(例: 日曜日)として返します。文字列はショート(例: 日)、またはロング(例: 日曜日)として返すことができます。

シンタックス
wday(<日付列>, label = <TRUE|FALSE>, abbr = <TRUE|FALSE>, week_start = <数値>, locale = <ロケール>)

引数

返り値
Numeric or Text


wday("2015-10-01")
5を返します。
wday("2015-10-01", label = TRUE)
"木"を返します。
wday("2015-10-01", label = TRUE, abbr=FALSE)
"木曜日"を返します。

week

概要

日付型や日付時間型の値から1年の週番号を抽出します。第1週の1日目は、曜日に関係なく、常に1月1日から始まります。

シンタックス
week(<日付型または日付時間型の列>)

返り値
Numeric


week(ymd(c( \ "2020-01-01",\ "2020-01-02",\ "2020-01-03",\ "2020-01-04",\ "2020-01-05",\ "2020-01-06",\ "2020-01-07",\ "2020-01-08")))\ 1,1,1,1,1,1,1,2を返します

weeks

概要

計算に使用できるように、数値を週の単位に変換します。

シンタックス
weeks(<数値列>)

返り値
Period


weeks(1) "7d 0H 0M 0S"を返します
ymd_hms("2015-10-01 06:15:30") + weeks(1)
"2015-10-08 06:15:30 UTC"を返します

with_tz

概要

指定したタイムゾーンでの日付・時間を返します。

シンタックス
with_tz(<日付・時間型の列>, tzone = <タイムゾーン>)

引数

返り値
POSIXct

with_tz(as.POSIXct("2014-01-01 00:00:00", tz = "UTC"), tzone = "Asia/Tokyo")
"2014-01-01 09:00:00 JST"を返します。元のタイムゾーンはUTCでしたが、日本標準時(JST)に変換した日付・時間の値を返します。 with_tz(as.POSIXct("2014-01-01 00:00:00", tz = "UTC"))
"2014-01-01 09:00:00 JST"を返します。 with_tz()関数は、tzに何も指定しない場合はシステム設定にて指定されているデフォルトのタイムゾーンで変換した日付・時間の値を返します。

yday

概要

日付列から年の日(1-366)を抽出します。

シンタックス
yday(<日付列>)

返り値
Numeric


yday("2015-10-01")
274を返します。

ydm

概要

年、日、月の順番の文字列または数値データを日付型に変換します。

シンタックス
ydm(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date


ydm("2015-10-01")
"2015-01-10"を返します。
ydm("2015/10/01")
"2015-01-10"を返します。
ydm("Created on 2015 10 1")
"2015-01-10"を返します。
ydm("2015, 1 Oct", locale = "English") "2015-10-01"を返します。

ydm_h

概要

年、日、月、時の順番の文字列のデータを日付時間型に変換します。

シンタックス
ydm_h(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


ydm_h("2015-01-10T06")
"2015-10-01 06:00:00 UTC"を返します。
ydm_h("2015/01/10 06")
"2015-10-01 06:00:00 UTC"を返します。
ydm_h("Created on 15-01-10 at 6 AM")
"2015-10-01 06:00:00 UTC"を返します。
ydm_h("2015 01 Oct, at 6 AM", locale = "English")
"2015-10-01 06:00:00 UTC"を返します。

ydm_hm

概要

年、日、月、時、分の順番の文字列のデータを日付時間型に変換します。

シンタックス
ydm_hm(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct

ydm_hm("2015-01-10 06:10")
"2015-10-01 06:10:00 UTC"を返します。
ydm_hm("2015/01/10 06:00 UTC")
"2015-10-01 06:10:15 UTC"を返します。
ydm_hm("Created on 15-01-10 at 06:10 AM")
"2015-10-01 06:10:00 UTC"を返します。
ydm_hm("2015 01 Oct, at 6:10 AM", locale = "English")
"2015-10-01 06:10:00 UTC"を返します。

ydm_hms

概要

年、日、月、時、分、秒の順番の文字列のデータを日付時間型に変換します。

シンタックス
ydm_hms(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct

ydm_hms("2015-01-10T06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
ydm_hms("2015/01/10 06:10:15 UTC")
"2015-10-01 06:10:15 UTC"を返します。
ydm_hms("Created on 15-01-10 at 06:10:15 AM")
"2015-10-01 06:10:15 UTC"を返します。
ydm_hms("2015-01-10 06")
NAを返します。日付時間型に変換する際に十分なデータがないためです。
ydm_hms("2015-01-10 06", truncated = 2)
"2015-10-01 06:00:00 UTC"を返します。truncatedを指定しているため、期待通りの挙動です。
ydm_hms("2015 01 Oct, at 6:10:15 AM", locale = "English")
"2015-10-01 06:10:15 UTC"を返します。

year

概要

日付型や日付時間型の値から年の情報を抽出します。

シンタックス
year(<日付型または日付時間型の列>)

返り値
Numeric


year("2015-10-01 06:15:30")
2015を返します

years

概要

計算に使用できるように、数値を年の単位に変換します。

シンタックス
years(<数値列>)

返り値
Period


ymd_hms("2015-10-01 06:15:30") + years(1)
"2016-10-01 06:15:30 UTC"を返します

ymd

概要

年、月、日の順番の文字列または数値データを日付型に変換します。

シンタックス ymd(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
Date


ymd("2015-10-01")
"2015-10-01"を返します。
ymd("2015/10/01")
"2015-10-01"を返します。
ymd("Created on 2015 10 1")
"2015-10-01"を返します。
ymd("2015, Oct 1", locale = "English") "2015-10-01"を返します。

ymd_h

概要

年、月、日、時の順番の文字列のデータを日付時間型に変換します。

シンタックス
ymd_h(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


ymd_h("2015-10-01T06")
"2015-10-01 06:00:00 UTC"を返します。
ymd_h("2015/10/01 06")
"2015-10-01 06:00:00 UTC"を返します。
ymd_h("Created on 15-10-01 at 6 AM")
"2015-10-01 06:00:00 UTC"を返します。
ymd_h("2015, Oct 1 6AM", locale = "English")
"2015-10-01 06:00:00 UTC"を返します。

ymd_hm

概要

年、月、日、時、分の順番の文字列のデータを日付時間型に変換します。

シンタックス
ymd_hm(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


ymd_hm("2015-10-01 06:10")
"2015-10-01 06:10:00 UTC"を返します。
ymd_hm("2015/10/01 06:00 UTC")
"2015-10-01 06:10:15 UTC"を返します。
ymd_hm("Created on 15-10-01 at 06:10 AM")
"2015-10-01 06:10:00 UTC"を返します。
ymd_hm("2015, Oct 1 06:10 AM", locale = "English")
"2015-10-01 06:10:00 UTC"を返します。

ymd_hms

概要

年、月、日、時、分、秒の順番の文字列のデータを日付時間型に変換します。

シンタックス
ymd_hms(<列名>, tz = <タイムゾーン>, locale = <ロケール>, truncated = <数値>)

引数

返り値
POSIXct


ymd_hms("2015-10-01T06:10:15")
"2015-10-01 06:10:15 UTC"を返します。
ymd_hms("2015/10/01 06:10:15 UTC")
"2015-10-01 06:10:15 UTC"を返します。
ymd_hms("Created on 15-10-01 at 06:10:15 AM")
"2015-10-01 06:10:15 UTC"を返します。
ymd_hms("2015-10-01 06")
NAを返します。日付時間型に変換する際に十分なデータがないためです。
ymd_hms("2015-10-01 06", truncated = 2)
"2015-10-01 06:00:00 UTC"を返します。truncatedを指定しているため、期待通りの挙動です。
ymd_hms("2015, Oct 1 06:10:15 AM", locale = "English")
"2015-10-01 06:10:15 UTC"を返します。

cor

概要
2つの列の値の相関関係を計算します。共分散を2 つの列の値の標準偏差の積で割ることで計算されます。

シンタックス
cor(<数値列>, <数値列>, use = <欠損値の処理方法>, method = <計算方法>)

引数


summarize(相関 = cor(到着遅れ, 出発遅れ))
到着遅れの列と出発遅れの列の相関係数を計算します。

cov

概要
2つの列の値の共分散を計算します。

シンタックス
cov(<数値列>, <数値列>, use = <欠損値の処理方法>, method = <計算方法>)

引数


summarize(covariance = cov(到着遅れ, 出発遅れ))
到着遅れの列と出発遅れの列の共分散を計算します。

IQR

概要
四分位範囲を計算します。

シンタックス
IQR(<数値列>, na.rm = <TRUE|FALSE>, type = 1|2|3|4|5|6|7|8|9)

引数

返り値
Numeric


// x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
IQR(x)
4.5を返します

mad

概要
中央絶対偏差を計算します。

シンタックス
mad(<数値列>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


summarize(売上の中央絶対偏差= mad(売上))
各グループの売上の絶対偏差の中央値を計算した新しい列を作成します。

median

概要
中央値を計算します。

シンタックス
median(<数値列>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


summarize(売上の中央値= median(売上))
各グループの収益の中央値を計算した新しい列を作成します。

predict

Summary

Returns data augmented with fitted values and residuals.

Syntax

predict(<column_model>, data = <column_data_set>, newdata = <data_set>, type.predict = "link"|"response")

Arguments

Example

predict(model) - assume that 'model' column contains a fitted model of 'lm', 'glm' or 'kmeans'. If it's lm, the output is like below.

.rownames ARR_DELAY DEP_DELAY .fitted .se.fit .resid .hat .sigma .cooksd .std.resid
1 -15 -9 -13.934 0.0247 -1.066 0.0000035503 13.0886 7.8503e-9 -0.0814
2 -28 -19 -22.4116 0.035 -5.5884 0.0000071333 13.0886 4.3348e-7 -0.427

quantile

概要

与えられた確率に対応する標本の分位数を計算します。最小値は確率0に対応し,最大値は確率1に対応します。

シンタックス
quantile(<数値列>, probs = <確率>, na.rm = <TRUE|FALSE>, [type = 1|2|3|4|5|6|7|8|9])

引数

返り値
Numeric


//x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
quantile(x, 0.25)
3.25を返します
quantile(x, .5)
5.5を返します。

sd

概要
標準偏差を計算します。

シンタックス
sd(<数値列>, na.rm = <TRUE|FALSE>))

引数

返り値
Numeric


summarize(sd = sd(売上))
各グループの収益の標準偏差を計算した新しい列を作成します。

var

概要
分散を計算します。

シンタックス
var(<数値列>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


summarize(売上の分散 = var(売上))
各グループの売上の分散を計算した新しい列を作成します。

str_c

概要
複数のテキストや列をくっつけることができます。

シンタックス
str_c(<列>, sep = <区切り文字>, collapse = <区切り文字>)

引数

返り値
Character


str_c(LastName, FirstName)
LastNameとFirstNameをくっつけた値を返す。
str_c(LastName, FirstName, sep = "-")
LastNameとFirstNameを区切り文字で指定したハイフン(-)でくっつけた値を返す。 str_c(ProductName, collapse = ",") コンマ(,)を使用してProductNameの値をグループごとに一つの値にまとめた値を返す。集計のカスタムでの使用が有効です。

str_conv

概要
テキストを指定されたエンコーディング(例:UTF-8)に変換します。

シンタックス
str_conv(<テキストの列>, <encoding>)

引数

返り値
Character


str_conv("Exploratory", "UTF-8")

str_count

概要
テキストデータの文字数または単語数を返します。一致したパターンまたはテキストのみをカウントするように設定できます。

シンタックス
str_count(<列名>, pattern = <文字列>)
str_count(<列名>, pattern = [<正規表現>])
str_count(<列名>, pattern = [boundary("word")])

引数

返り値
Numeric


str_count("I'm traveling to New York on 1/1.")
句読点とスペースを含めた33を返します。
str_count("I'm traveling to New York on 1/1.", "New")
指定した「New」と一致した数である1を返します。
str_count("I'm traveling to New York on 1/1.", "[:alpha:]")
アルファベットのみを数えて22を返します。
str_count("I'm traveling to New York on 1/1.", "[:digit:]")
数値のみを数えて2を返します。
str_count("I'm traveling to New York.", boundary("word"))
単語の数として5を返します
str_count("I'm traveling to New York on 1/1.", ".")
ピリオド(.)は何にでも一致するため33を返します。
str_count("I'm traveling to New York on 1/1.", fixed("."))
fixed()で文字としてのピリオドを数えるため1を返します

str_detect

概要
特定の文字列が含まれているかどうかに基づいて、TRUEまたはFALSEを返します。

シンタックス
str_detect(<テキストの列>, <文字列または正規表現>)

引数

返り値
Logical


str_detect("New York", "New")
文字列にNewが含まれているため「TRUE」を返します。
str_detect("New York on 1/1.", "[:alpha:]")
文字列にアルファベットが含まれているため「TRUE」を返します。
str_detect("New York on 1/1.", "[:digit:]")
文字列に数字が含まれているため「TRUE」を返します。
str_detect("New York on 1/1.", "^New")
文字列の先頭に”New”が含まれているため「TRUE」を返します。
str_detect("New York on 1/1.", "New$")
文字列の末尾に”New”が含まれていないため「FALSE」を返します。
str_detect("New York on 1/1.", c("New", "Old"))
指定した文字列の一つのマッチするため、「TRUE」を返します。

str_dup

概要
文字列の値を繰り返します。

シンタックス
str_dup(<テキストの列>, times = <繰り返す回数>)

引数

返り値
Character


str_dup("wow", 2)
"wow"を2回繰り返した"wowwow"を返します。

str_extract

概要
指定した文字列または正規表現に一致する文字列を抽出します。

シンタックス
str_extract(<テキストの列>, <抽出する文字列>)

引数

返り値
Character


str_extract("ABCabc123", "[A-Za-z]+")
アルファベットのみを抽出して "ABCabc"を返します。
str_extract("ABCabc123", "[:alpha:]+")
アルファベットのみを抽出して "ABCabc"を返します。
str_extract("ABCabc123", "[0-9]+")
数字のみを抽出して"123"を返します。
str_extract("ABCabc123", "[:digit:]+")
数字のみを抽出して"123"を返します。

str_extract_all

概要
指定した文字列または正規表現に一致する文字列をすべて抽出します。

シンタックス
str_extract_all(<テキストの列>, <抽出する文字列>)

引数

返り値
List

str_extract_all("Hello world", "[:alpha:]+")
指定した文字であるアルファベットと一致する全ての値として、 c("Hello", "world")を返します。

str_extract("Hello world", "[:alpha:]+")
最初に一致したアルファベットとして"Hello"を返します。

str_length

概要
テキストデータの文字数を返します。

シンタックス
str_length(<列名>)

返り値
Numeric


str_length("I'm traveling to New York.")
句読点とスペースを含めた26を値として返します

str_pad

概要

指定した文字数に満たない空白箇所をスペース、または特定の文字で埋めることができます。

シンタックス
str_pad(<テキストの列>, width = <数値>, side = "left"|"right"|"both", pad = <埋める文字>)

引数

返り値
Character


str_pad("Exploratory", 3)
指定した3文字は元のテキストの方が文字数が多いため、そのままのテキストである「Exploratory」を返します。

str_pad("Exploratory", 20, "left")
指定した20文字を満たさないため、空白を追加してテキストの文字数を20にした「 Exploratory」を返します。

str_replace

概要
指定した文字列または正規表現に一致する文字列を置き換えます。

シンタックス
str_replace(<テキストの列>, <置換元の文字列>, <置換後の文字列>)

引数

返り値
Character


str_replace("I am traveling to New York!!", "York", "Jersey")
" York"を"Jersey"に置換した"I am traveling to New Jersey"を返します。
str_replace("New York New", "^New", "Old")
先頭の"New"を"Old"に置換した"Old York New"を返します。
str_replace("New York New.", "New$", "Old")
末尾の"New"を"Old"に置換した"New York Old"を返します。

str_replace_all

概要
指定した文字列または正規表現に一致する文字列をすべて置き換えます。

シンタックス
str_replace_all(<テキストの列>, <置換元の文字列>, <置換後の文字列>)

引数

返り値
Character


str_replace_all("Softbank Corp., Airbnb Corp.", "Corp.", "Corporation")
"Corp."を"Corporation"に置換した"Softbank Corporation, Airbnb Corporation"を返します。

str_replace_na

概要
欠損値(NA)を特定の文字列に置換します。

シンタックス
str_replace_na(<テキストの列>, <置換する文字列>)

引数

返り値
Character


str_replace_na(ARR_DELAY, "Not Available")
ARR_DELAYの列で欠損値の場合に"Not Available"を返します。

str_split

概要
指定した区切り文字によって、複数のテキストに分割します。値はリストとして返されるため、unnest() 関数で新しく作成された列のネストを解除する必要があります。

シンタックス
str_split(<テキストの列>, pattern = <文字列または正規表現>, n = <数値>)

引数

返り値
List


str_split("a, b, c", ",")
リスト形式で"a" " b" " c"を返します。
str_split("a, b, c", ",", 2)
リスト形式で"a"と" b, c"を返します。

str_sub

概要
位置に基づいて文字列を抽出します。

シンタックス
str_sub(<テキストの列>, <開始位置>, <終了位置>)

引数

返り値
Character


str_sub("Kevin Spacey", start = 7, end = 12)
7文字目から12文字目までの"Spacey"を返します。
str_sub("Kevin Spacey", start = 7)
7文字目から最後の文字までの"Spacey"を返します。.
str_sub(Text, start = -6)
最後から6文字目までの"Spacey"を返します。

str_to_lower

概要
テキストを小文字に変換します。

シンタックス
str_to_lower(<テキストの列>, locale = <ロケール>)

引数

返り値
Character


str_to_lower("CALIFORNIA")
"california"を返します。

str_to_title

概要
テキストをタイトルケースに変換します。

シンタックス
str_to_title(<テキストの列>, locale = <ロケール>)

引数

返り値
Character


str_to_title("CALIFORNIA")
"California"を返します。

str_to_upper

概要
テキストを大文字に変換します。

シンタックス
str_to_upper(<テキストの列>, locale = <ロケール>)

引数

返り値
Character


str_to_upper("california")
"CALIFORNIA"を返します。
str_to_upper("i", locale = "en")
ロケールに”en”を設定すると"I"を返します。

str_trim

概要
テキストの中にある空白を取り除きます。

シンタックス
str_trim(<テキストの列>, side = "both"|"left"|"right")

引数

返り値
Character


str_trim(" String with trailing and leading white space\t")
両端にある空白やタブ文字を取り除き、"String with trailing and leading white space"を返します。
str_trim("\n\nString with trailing and leading white space\n\n")
改行文字を取り除き、"String with trailing and leading white space"を返します。

word

概要
テキストデータの最初、最後、またはN番目の単語を抽出します。

シンタックス
word(<テキストの列>, start = <数値>, end = <数値>, sep = <区切り文字>)

引数

返り値
Character


word("I am traveling to New York", 1)
1番目の単語である"I"を返します。
word("I am traveling to New York", 1, 3)
1番目から3番目までの単語である"I am traveling"を返します。
word("I am traveling to New York", 2)
2番目の単語である"am"を返します。
word("I am traveling to New York", -1)
最後から1番目の単語である"York"を返します。
word("I am traveling to New York", -2, -1)
最後の2番目から1番目までの単語である"New York"を返します。
word("123-456-789", 1, sep = "-")
1番目の単語である"123"を返します。

complete

概要
欠損しているデータの組み合わせを追加したデータフレームを返します。

シンタックス
complete(<列>, fill = <リスト>)

引数

合わせて使われることが多い関数
full_seq, nesting

サンプルデータ:

商品名 タイプ 売上
2013 iPhone 5 100
2013 iPad mini 50
2015 iPhone 6 200

complete(年, 商品)
年と商品の値の全ての組み合わせを返します。

商品名 タイプ 売上
2013 iPad mini 50
2013 iPhone 5 100
2015 iPad NA NA
2015 iPhone 6 200

complete(年, 商品, fill = list(売上 = 0))
年と商品の値の全ての組み合わせを返したうえで、NAを0で埋めます。

商品名 タイプ 売上
2013 iPad mini 50
2013 iPhone 5 100
2015 iPad NA 0
2015 iPhone 6 200

complete(年= full_seq(年, period = 1), 商品名) _年と商品の値の全ての組み合わせを返したうえで、掛けている年(2014年)を埋めます。

商品名 タイプ 売上
2013 iPad mini 50
2013 iPhone 5 100
2014 iPad NA NA
2014 iPhone NA NA
2015 iPad NA NA
2015 iPhone 6 200

complete(年, 商品名, タイプ)
年、商品、タイプの値の全ての組み合わせを返します。

商品名 タイプ 売上
2013 iPad 5 NA
2013 iPad 6 NA
2013 iPad mini 50
2013 iPhone 5 100
2013 iPhone 6 NA
2013 iPhone mini NA
2015 iPad 5 NA
2015 iPad 6 NA
2015 iPad mini NA
2015 iPhone 5 NA
2015 iPhone 6 200
2015 iPhone mini NA

complete(年, nesting(商品名, タイプ))
nesting()関数を使うことで、指定した列のデータに実際に存在する値の組み合わせを追加できます。

商品名 タイプ 売上
2013 iPad mini 50
2013 iPhone 5 100
2013 iPhone 6 NA
2015 iPad mini NA
2015 iPhone 5 NA
2015 iPhone 6 200

expand

Summary
Expand a data frame by adding all the combination of given columns.

Syntax
expand(<column(s)>)

Arguments

Used Together
full_seq, nesting

Example

Sample data:

year product type sales
2013 iPhone 5 100
2013 iPad mini 50
2015 iPhone 6 200

expand(year, product)
Returns all the combinations of year and product values.

year product
2013 iPad
2013 iPhone
2015 iPad
2015 iPhone

expand(year = full_seq(year, period = 1), product)
Returns all the combinations of year and product values plus fill missing years (2014).

year product
2013 iPad
2013 iPhone
2014 iPad
2014 iPhone
2015 iPad
2015 iPhone

expand(year, product, type)
Returns all the combinations of year, product, and type values.

year product type
2013 iPad 5
2013 iPad 6
2013 iPad mini
2013 iPhone 5
2013 iPhone 6
2013 iPhone mini
2015 iPad 5
2015 iPad 6
2015 iPad mini
2015 iPhone 5
2015 iPhone 6
2015 iPhone mini

expand(year, nesting(product, type))
By using nesting() function you can set a certain combination of column values to be fixed and have them nested inside other columns.

year product type
2013 iPad mini
2013 iPhone 5
2013 iPhone 6
2015 iPad mini
2015 iPhone 5
2015 iPhone 6

extract_numeric

概要
指定されたテキストから数字のみを抽出します。数値以外のフォーマットがある文字列(例: $1,200.34, -12%, X1)に便利です。

シンタックス
extract_numeric(<列名>)

返り値
Numeric


extract_numeric("$56,500.00")
56500を返します。
extract_numeric("-45%")
-45を返します。
extract_numeric()
列から数字のみを抽出して列として値を返します。

fill

Summary
Fills missing values in using the previous entry. This is convenient especially when values are not presented in some cells to avoid duplicated entries.

Syntax
fill(<column(s)>, .direction = <fill_direction>)

Arguments

Example
fill(POPULATION)
Fills using the previous appearing value for POPULATION column.
fill(POPULATION, .direction = "up")
Fills using the next appearing value for POPULATION column.
fill(POPULATION, PRODUCTION)
Fills using the previous appearing value for POPULATION and PRODUCTION columns.
fill(-UNEMPLOYMENT)
Fills using the previous appearing value for all the columns other than UNEMPLOYMENT column.

full_seq

Summary
Generate a sequence of numbers based on the values in a given column.

Syntax
full_seq(<column_num>, period = <number>)

Arguments

Used Together
complete, expand,

Example
Sample data:

year product type sales
2013 iPhone 5 100
2013 iPad mini 50
2015 iPhone 6 200

expand(year = full_seq(year, period = 1), product)
Returns all the combinations of year and product values plus fill missing years (2014).

year product
2013 iPad
2013 iPhone
2014 iPad
2014 iPhone
2015 iPad
2015 iPhone

Without full_seq() function.

expand(year, product)
Returns all the combinations of year and product values.

year product
2013 iPad
2013 iPhone
2015 iPad
2015 iPhone

gather

Summary
Takes multiple columns and collapses into key-value pairs, duplicating all other columns as needed.

Syntax
gather(<new_key_column>, <new_value_column>, <column(s)>, na.rm = <logical>, convert = <logical>)

Arguments

Example
gather(COUNTRY, POPULATION, 2:50, na.rm = FALSE)
Takes the 2nd column to the 50th column into two new columns, COUNTRY and POPULATION.
gather(COUNTRY, POPULATION, -YEAR)
Takes all the columns other than YEAR column into two new columns, COUNTRY and POPULATION.
gather(COUNTRY, POPULATION, starts_with("country"))
Takes the columns whose names start with "country" into two new columns, COUNTRY and POPULATION.

nest

Summary
Nest a set of columns together as a list column.

Syntax
nest(<column(s)> , .key = <text>)

Arguments

Example
Sample Data

year product type sales
2013 iPhone 5 100
2013 iPad mini 50
2015 iPhone 6 200

nest(product, type, sales, .key = a)
This will create a new column that is a list of data frames and each row of the data frame holds 'product', 'type', 'sales' values.

year a
2013 list()
2015 list()

nesting

Summary
Fix multiple columns so that only the combination of actually existing values in those columns will be used for complete() or expand() operation.

Syntax
nesting(<column(s)>)

Arguments

Used Together
complete, expand,

Example
Sample data:

year product type sales
2013 iPhone 5 100
2013 iPad mini 50
2015 iPhone 6 200

expand(year, nesting(product, type))
By using nesting() function you can set a certain combination of column values to be fixed and have them nested inside other columns.

year product type
2013 iPad mini
2013 iPhone 5
2013 iPhone 6
2015 iPad mini
2015 iPhone 5
2015 iPhone 6

Without nesting():

expand(year, product, type)
Returns all the combinations of year, product, and type values.

year product type
2013 iPad 5
2013 iPad 6
2013 iPad mini
2013 iPhone 5
2013 iPhone 6
2013 iPhone mini
2015 iPad 5
2015 iPad 6
2015 iPad mini
2015 iPhone 5
2015 iPhone 6
2015 iPhone mini

separate

Summary
Separates a column with delimited values into multiple columns.

Syntax
separate(<column_text_date>, into = c("<new_column_name(s)>"), sep = <text>, remove=<logical>, convert=<logical>, extra = "warn"|"drop"|"merge", fill = "warn"|"right"|"left")

Arguments

Example
separate(NAME, into = c("FIRSTNAME", "LASTNAME"), extra="drop")
Separates NAME column into FIRSTNAME and LASTNAME columns by non-alphanumeric values. It will drop the rest if any.
separate(NAME, into = c("FIRSTNAME", "LASTNAME"), remove = FALSE)
Separates NAME column into FIRSTNAME and LASTNAME columns by non-alphanumeric values. It will keep NAME column.
separate(NAME, into = c("FIRSTNAME", "LASTNAME"), extra="merge")
Separates NAME column into FIRSTNAME and LASTNAME columns by non-alphanumeric values. It will merge the rest into the last column.
separate(NAME, into = c("FIRSTNAME", "LASTNAME"), sep = "-")
Separates NAME column into FIRSTNAME and LASTNAME columns by dash "-".
separate(NAME, into = c("FIRSTNAME", "LASTNAME"), sep = 2)
Separates NAME column into FIRSTNAME and LASTNAME by a position of 2.
separate(DATE, into = c("Y", "M", "D"), convert = TRUE)
Separate DATE into Year, Month, and Day columns and set the data type for each column based on the heuristics.

spread

Summary
Spread a key-value pair across multiple columns. Missing values will be replaced with NA.

Syntax
spread(<key_column>, <value_column>, fill = <value>, convert = <logical>, drop = <logical>, sep=<text>)

Arguments

Example
spread(COUNTRY, POPULATION)
Spread a COUNTRY-POPULATION pair across multiple columns of COUNTRY.
spread(COUNTRY, POPULATION, fill = “NA")
Spread a COUNTRY-POPULATION pair across multiple columns of COUNTRY, and fill with "NA" text for missing values.

unite

Summary
Unite multiple columns together into one column with given uniting characters. It will concatenate values by “_" and remove the original column by default. Multiple columns specified in the list can be combined together at once.

Syntax
unite(<new_column>, <column(s)>, sep = <text>, remove = <logical>)

Arguments

Example
unite(NAME, FIRSTNAME, LASTNAME)
Unite FIRSTNAME and LASTNAME into a new column called NAME using _ as a uniting character.
unite(NAME, FIRSTNAME, LASTNAME, sep = "-")
Unite FIRSTNAME and LASTNAME into a new column called NAME using _ as a uniting character.

unnest

Summary
Unnest a list column or a list of data frames by making each element of the list to be presented in its own row.

Syntax
unnest(<column_list> , .drop = <logical>, .id = <text>, .sep = <text>)

Arguments

Example
Sample Data with a list column

issue_id assignee
720 list(Kan, Kei)
721 list(Kan, Marie, Simon)

unnest() or unnest(assignee)
Unnest 'assignee' column which is a list. This will give each value of the list its own row.

issue_id assignee
720 Kan
720 Kei
721 Kan
721 Marie
721 Simon

Sample Data with a list of Data Frames:

issue_id assignee
720 list(name = Kan, id = 105, country = US )
721 list(name = Kei, id = 106, country = Japan )

unnest()
Unnest 'assignee' column which is a list of data frames. This will create columns for each column of the nested data frame.

issue_id name id country
720 Kan 105 US
721 Kei 106 Japan

unnest(.sep="-")
Unnest With .sep argument, the result columns are with original list column name connected by .sep argument.

issue_id assignee-name assignee-id assignee-country
720 Kan 105 US
721 Kei 106 Japan

Sample Data with two list columns

issue_id assignee category
720 list(Kan, Kei) list(Critical, Security)
721 list(Kan, Marie, Simon) list(Critical, Minor Issue)

unnest(assignee, .drop = FALSE)
Unnest 'assignee' column which is a list. This will give each value of the list its own row.

issue_id assignee category
720 Kan list(Critical, Security)
720 Kei list(Critical, Security)
721 Kan list(Critical, Security)
721 Marie list(Critical, Minor Issue)
721 Simon list(Critical, Minor Issue)

param_remove

概要
指定したURLからパラメータを削除します。

シンタックス
param_remove(<テキストの列>, keys = <文字列>)

引数

返り値
Character


param_remove(urls = "https://github.com/hideaki/tam/issues?q=is%3Aopen&ticket=open", keys = c("q","ticket"))
"https://github.com/hideaki/tam/issues" を返します。

url_decode

概要
指定したURLをデコードします。 文字コードはUTF-8を前提としています。

シンタックス
url_decode(<テキストの列>)

引数

返り値
Character


url_decode("http://exploratory.io%3fname%3dflight%20data%20analysis%20%28V1%29")
"http://exploratory.io?name=flight data analysis (V1)" を返します。

url_encode

概要
指定したURLをエンコードします。 文字コードはUTF-8を前提としています。

シンタックス
url_encode(<テキストの列>)

引数

返り値
Character


url_encode("http://exploratory.io?name=flight data analysis (V1)")
"http://exploratory.io%3fname%3dflight%20data%20analysis%20%28V1%29" を返します。

url_parameters

概要
url からデコードされたクエリのパラメーターを返します。

シンタックス
url_parameters(<テキストの列>)

引数

返り値
Character

url_parameters("https://exploratory.io/?debug=%3Ctrue%3E#test")
"debug=<true>"を返します。

roll_max

概要
移動計算により、指定されたウィンドウサイズ間の最大値を返します。

シンタックス
roll_max(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_max(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の最大値を返します。

year revenue rolling_max
2012 100 0
2013 200 300
2014 300 400
2015 400 500
2016 500 0

roll_max(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の最大値を返します。

year revenue rolling_max
2012 100 300
2013 200 400
2014 300 500
2015 400 0
2016 500 0

roll_mean

概要
移動計算により、指定されたウィンドウサイズ間の平均値を返します。

シンタックス
roll_mean(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_mean(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の平均値を返します。

year revenue rolling_mean
2012 100 0
2013 200 200
2014 300 300
2015 400 400
2016 500 0

roll_mean(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の平均値を返します。

year revenue rolling_mean
2012 100 200
2013 200 300
2014 300 400
2015 400 0
2016 500 0

roll_median

概要
移動計算により、指定されたウィンドウサイズ間の中央値を返します。

シンタックス
roll_median(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_median(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の中央値を返します。

year revenue rolling_median
2012 100 0
2013 200 200
2014 300 300
2015 400 400
2016 500 0

roll_median(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の中央値を返します。

year revenue rolling_median
2012 100 200
2013 200 300
2014 300 400
2015 400 0
2016 500 0

roll_min

概要
移動計算により、指定されたウィンドウサイズ間の最小値を返します。

シンタックス
roll_min(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_min(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の最小値を返します。

year revenue rolling_min
2012 100 0
2013 200 100
2014 300 200
2015 400 300
2016 500 0

roll_min(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の最小値を返します。

year revenue rolling_min
2012 100 100
2013 200 200
2014 300 300
2015 400 0
2016 500 0

roll_prod

概要
移動計算により、指定されたウィンドウサイズ間の積値を返します。

シンタックス
roll_prod(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_prod(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の積値を返します。

year revenue rolling_prod
2012 1 0
2013 2 6
2014 3 24
2015 4 60
2016 5 0

roll_prod(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の積値を返します。

year revenue rolling_prod
2012 1 6
2013 2 24
2014 3 60
2015 4 0
2016 5 0

roll_sd

概要
移動計算により、指定されたウィンドウサイズ間の標準偏差を返します。

シンタックス
roll_sd(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_sd(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の標準偏差を返します。

year revenue rolling_sd
2012 100 0
2013 200 100
2014 300 100
2015 400 100
2016 500 0

roll_sd(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の標準偏差を返します。

year revenue rolling_sd
2012 100 100
2013 200 100
2014 300 100
2015 400 0
2016 500 0

roll_sum

概要
移動計算により、指定されたウィンドウサイズ間の合計値を返します。

シンタックス
roll_sum(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_sum(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の合計値を返します。

year revenue rolling_sum
2012 100 0
2013 200 600
2014 300 900
2015 400 1200
2016 500 0

roll_sum(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の合計値を返します。

year revenue rolling_sum
2012 100 600
2013 200 900
2014 300 1200
2015 400 0
2016 500 0

roll_var

概要
移動計算により、指定されたウィンドウサイズ間の分散を返します。

シンタックス
roll_var(<数値列>, n = <数値>, weights = NULL, by = <数値>, fill = <数値>, align = <left | center | right>, normalize = <TRUE|FALSE>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


roll_var(revenue, n = 3, align="center", fill = 0)
NAを0に設定し、前と次の値から始まる3つの値の分散を返します。

year revenue rolling_var
2012 100 0
2013 200 10000
2014 300 10000
2015 400 10000
2016 500 0

roll_var(revenue, n = 3, align="left", fill = 0)
NAを0に設定し、その値と次の2つ値を含めて、3つの値の分散を返します。

year revenue rolling_var
2012 100 10000
2013 200 10000
2014 300 10000
2015 400 0
2016 500 0

-

概要
Removes column(s). It can be used along with any column(s) selection operation like select(), gather(), etc.

シンタックス
-<列名>

返り値


select(-Country)
Remove Country column.
select(-starts_with("user"))
Remove all the columns whose names start with "user".
gather(Year, Population, -Country)
Gather all the columns except Country column into Year and Population columns.

select_if

Summary
Select column(s) with a predicate (conditional) function.

Syntax
select_if(<predicate_condition>,...)

Arguments

Example
select_if(is.numeric)
Select only numeric data type columns.
select_if(is.character)
Select only character data type columns.
select_if(function(x) is.numeric(x) && mean(x) > 5)
Select only the columns that are numeric data type and their mean values are greater than 5.

starts_with

Summary
Returns the column names that starts with a given text.

Syntax
starts_with(<text>, ignore.case = <logical>)

Arguments

Example
select(starts_with("X", ignore.case = TRUE))
Select only columns whose name starts with "X"

ends_with

Summary
Returns the column names that ends with a given text.

Syntax
ends_with(<text>, ignore.case = <logical>)

Arguments

Example
select(ends_with("ABR", ignore.case = TRUE))
Select only columns whose name ends with "ABR"

contains

Summary
Returns the column names that contain a given text.

Syntax
contains(<text>, ignore.case = <logical>)

Arguments

Example
select(contains("ABR", ignore.case = TRUE))
Select only columns whose name contains with "ABR"

matches

Summary
Returns the column names that matches with a given text.

Syntax
matches(<text>, ignore.case = <logical>)

Arguments

Example
select(matches("[:digit:]+", ignore.case = TRUE))
Select only columns whose names contains digits (regular expression)

num_range

Summary
Returns the column names that starts with a given text with numbers that are within a given range. It's useful especially when you have column names like X1, X2, X3, X4, etc.

Syntax
num_range(<text>, <start_num>:<end_num>)

Arguments

Example
select(num_range("X", 1:5))
Selects all columns (numerically) from X1 to X5.

any_of

Summary
Returns the column names that are any of the given names.

Syntax
any_of(<text1>, <text2>, ...)

Arguments

Example
select(any_of("x", "y", "z”))
Selects columns whose names are "x", "y", and "z".

everything

Summary
Returns all the column names. It's useful when you want to have particular column(s) first before everything else.

Syntax
everything()

Arguments

Example
select(X, everything())
Reorder columns: keep the column “X" before all the other columns.

where

概要
指定した列選択関数(例:is.numeric関数)の戻り値がTRUEとなる列を返します。

シンタックス
where(<列選択関数>)

引数


select(where(is.numeric))
全ての数値列を選択します

across

概要
summarize_rowなど、他の関数で使用する列を選択するときに利用する関数です。

シンタックス

引数

mutate(Total = summarize_row(across(c(個人からの売上, 法人からの売上, 政府からの売上)), sum, na.rm = TRUE)
各行の指定された列の値を合計し、その合計をTotal列に保存します。

mutate(Total = summarize_row(across(where(is.numeric)), sum, na.rm = TRUE)
各行のすべての数値列の値を合計し、その合計をTotal列に保存します。

mutate_all

Summary
Apply functions to all the columns.

Syntax
mutate_all(funs(<function(s)>), ...)

Arguments

Example
mutate_all(funs(. * 0.5))
Multiply 0.5 to all the column values and override the existing columns.
mutate_all(funs(half = . * 0.5))
Multiply 0.5 to all the column values and create new columns whose names will end with "_half".
mutate_all(funs(min_rank, dense_rank)) Apply min_rank and dense_rank functions to all the column values and create new columns whose names will end with the function name (min_rank, dense_rank).

mutate_at

Summary
Apply functions to specified columns.

Syntax
mutate_at(vars(<column(s)>), funs(<function(s)>), ...)

Arguments

Example
mutate_at(vars(ends_with("DELAY")), min_rank)
Apply 'min_rank' function to the columns whose name ending with "DELAY".
mutate_at(vars(ends_with("DELAY")), funs(. * .5))
Multiply 0.5 to the columns whose name ending with "DELAY".
mutate_at(c("ARR_DELAY", "DEP_DELAY"), min_rank)
Apply 'min_rank' function to "ARR_DELAY" and "DEP_DELAY" columns.
mutate_at(c(1,3), min_rank)
Apply 'min_rank' function to 1st and 3rd columns.

mutate_if

Summary
Apply functions to only the columns that match with a given condition.

Syntax
mutate_if(<predicate_condition>, funs(<function(s)>), ...)

Arguments

Example
mutate_if(is_numeric, mean)
Apply 'mean' function to all the columns that are numeric data type.
mutate_if(is.numeric, funs(. * 0.2))
Multiply all the numeric columns by 0.2 overriding existing columns.
mutate_if(is.numeric, funs(calc = . * 0.2))
Multiply all the numeric columns by 0.2 as new columns.

summarize_all

Summary
Apply functions to all the columns.

Syntax
summarize_all(funs(<function(s)>), ...)

Arguments

Example
summarize_all(mean)
Apply mean function to all the columns values per group and override the existing columns.
summarize_all(mean, na.rm = TRUE)
Apply mean function with argument "na.rm = TRUE" to all the columns values per group.
summarize_all(funs(min, max))
Apply min and max functions to all the columns values per group and create new columns.
summarize_all(funs(average = mean), na.rm = TRUE)
Apply mean function to all the columns values per group and create new columns whose names ending with 'average'.

summarize_at

Summary
Apply functions to specified columns.

Syntax
summarize_at(vars(<column(s)>), funs(<function(s)>), ...)

Arguments

Example
summarize_at(vars(ends_with("DELAY")), mean)
Apply 'mean' function to the columns whose name ending with "DELAY".
summarize_at(vars(ends_with("DELAY")), mean, na.rm = TRUE)
Apply 'mean' function with "na.rm = TRUE" argument to the columns whose name ending with "DELAY".
summarize_at(c("ARR_DELAY", "DEP_DELAY"), mean)
Apply 'mean' function to "ARR_DELAY" and "DEP_DELAY" columns.
summarize_at(c(1,3), mean)
Apply 'mean' function to 1st and 3rd columns.

summarize_if

Summary
Apply functions to only the columns that match with a given condition.

Syntax
summarize_if(<predicate_condition>, )

Arguments

Example
summarize_if(is_numeric, mean)
Apply 'mean' function to all the columns that are numeric data type for each group.

vars

Summary
Returns a list of user selected columns.

Syntax
vars(<column(s)>)

Arguments

Example
vars(starts_with("ARR"))
Select columns whose name starting with "ARR".
vars(ARR_DELAY, ARR_TIME)
Select "ARR_DELAY" and "ARR_TIME" columns.

if_else

概要 指定した条件を満たすかどうかに応じて、値を返します。

シンタックス
if_else(<条件>, <TRUEのときの戻り値>, <FALSEのときの戻り値>, missing = NULL)

引数

返り値
Vector

mutate(カテゴリー = ifelse(価格 >= 500, "高価", "安価"))

価格 カテゴリー
1000 高価
500 高価
100 安価
50 安価

case_when

概要

複数の条件にもとづいて値を返します。これはSQLのCASE WHENに似ています。条件とそれに対応する値を指定するために両辺の式を使い、ELSE条件としてTRUEを使用することができます。詳しくは以下の例を参照してください。

シンタックス
case_when(...)

引数

返り値 Vector

mutate(カテゴリー = case_when(価格> 900 ~ "超高額", price >= 500 ~ "高額", price >= 100 ~ "普通")))

価格 カテゴリー
1000 超高額
500 高額
100 普通
50 NA

mutate(category = case_when(price > 900 ~ "超高額", price >= 500 ~ "高額", price >= 100 ~ "普通", TRUE ~ "低価格")))

価格 カテゴリー
1000 超高額
500 高額
100 普通
50 低価格

coalesce

概要
欠損値を特定の値または他の列の同じ位置にある値に置き換えます。

シンタックス
coalesce(<欠損値がある列>, <欠損値を埋めたい列1>,<欠損値を埋めたい列2>)

Arguments

返り値
Vector

Original data:

price price_old
1500 1000
NA 500
NA 100
50 10

mutate(price = coalesce(price, 0))

price price_old
1500 1000
0 500
0 100
50 10

mutate(price = coalesce(price, price_old))

price price_old
1500 1000
500 500
100 100
50 10

na_if

概要
一致する値をNAに置き換えます。

シンタックス

na_if(<列名>, <値>)

引数

返り値 Vector

mutate(after = na_if(before, 999))

before after
A A
G G
999 NA

near

概要
2つの数値ベクトルを比較します。浮動小数点数の2つのベクトルが(対で)等しいかどうかを比較する安全な方法です。許容誤差が組み込まれている点におい、== を使うよりも安全です。

シンタックス
near(<数値列>, <数値列>, tol = <数値>)

引数

返り値 Logical

sqrt(2) ^ 2 == 2 FALSEを返します。

near(sqrt(2) ^ 2, 2) TRUEを返します。

recode

概要

元の値を指定された値で置換します。数値の場合は数値にバックティックをつけるか、その位置に基づいて、置換ができます。文字列の場合は、その名前を置き換えることができます。

シンタックス

recode(<列名>, ..., .default = <文字列>, .missing = <文字列>)

引数

返り値 Vector

元のデータが数値の場合:

ID
4716
4755
2432

mutate(名称= recode(ID, `4716` = "オラクル", `4755` = "楽天"))

ID 名称
4716 オラクル
4755 楽天
2432 NA

2432を置換する値の指定がなく、そのデータ型(数値)が他の置換値(文字)とは異なるため、置換値はNAになります。データ型が同じであれば、元の値が利用されます。

mutate(名称 = recode(ID, `4716` = "オラクル", `4755` = "楽天", .default = "不明"))

'.default' の引数を使って、デフォルト値を指定できます。

ID 名称
4716 Oracle
4755 Rakuten
2432 不明

元のデータが文字列の場合:

ID
A
G
M

mutate(名称 = recode(ID, "A" = "アップル", "G" = "グーグル"))

ID 名称
A Apple
G Google
M M

元の値の'M'には置換値の指定がありませんが、データ型(文字列)が他の置換値(文字列)と同じであるため、元の値を利用することになります。

mutate(名称 = recode(ID, A = "アップル", G = "グーグル", .default = "不明"))

デフォルト値を設定するには、'.default' 引数を使用します。

ID name
A アップル
G グーグル
M 不明

recode_factor

概要

元の値を指定された値で置換し、順序付きカテゴリの列を作成します。数値の場合、値にバックティックを付けるか、その位置にもとづいて置き換えることができ、文字列は、その名称をもとに置き換えることができます。

シンタックス

recode_factor(<列名>, ..., .default = <文字列>, .missing = <文字列>, .ordered = <TRUE|FALSE>)

引数

返り値 Factor

Original Data:

ID
M
T
S

mutate(名称 = recode_factor(ID, S = "日曜日", M = "月曜日", T = "火曜日", .ordered = TRUE))

ID name
M 月曜日
T 火曜日
S 日曜日

separate_rows

Summary
Separates a column with delimited values into multiple rows.

Syntax
separate_rows(<column_text_date>, sep = <text>, convert=<logical>)

Arguments

Example

Original data:

company investors
Uber Lowercase Capital, Benchmark Capital, Google Ventures
Xiaomi Digital Sky Technologies, QiMing Venture Partners, Qualcomm Ventures

seperate_rows(investors, sep=", ")

company investors
Uber Lowercase Capital
Uber Benchmark Capital
Uber Google Ventures
Xiaomi Digital Sky Technologies
Xiaomi QiMing Venture Partners
Xiaomi Qualcomm Ventures

unnest_wider

Summary
Unnest a list column by turning each element of a list-column into a column.

Syntax
unnest_wider(col = <column_list> , names_sep = <text>, names_repair = <text>, simplify = <logical>, ptype = <list>, transform = <list>)

Arguments

unnest_longer

Summary
Unnest a list column by turning each element of a list-column into a row.

Syntax
unnest_longer(col = <column_list> , values_to = <text>, indices_to = <text>, indices_include = <logical>, names_repair = <text>, simplify = <logical>, ptype = <list>, transform = <list>)

Arguments

hoist

Hoist allows you to selectively pull components of a list-column out in to their own top-level columns.

Syntax
hoist(.col = <column_list> , .remove = <logical>, .simplify = <logical>, .ptype = <list>, .transform=<list>)

Arguments

drop_na

Summary
Drop rows that have NA value.

Syntax
drop_na(<column(s)>,...)
drop_na(-<column(s)>,...)
drop_na(starts_with(<text>, ignore.case = <logical>))
drop_na(ends_with(<text>, ignore.case = <logical>))
drop_na(contains(<text>, ignore.case = <logical>))
drop_na(matches(<text>, ignore.case = <logical>))
drop_na(num_range(<text>, <start_num>:<end_num>))
drop_na(one_of(<text1>, <text2>, ...))
drop_na(<column>, everything())

Arguments

Example

Sample data:

Original data:

location year plant_date harvest_date
Als 1900 NA 35.02899
Als 1901 10.00000 24.02899
Als 1902 12.58863 45.02899
Bea 1900 5.00000 18.00000
Bea 1901 3.31119 10.00000
Bea 1902 29.12891 NA
Bor 1900 12.52136 18.14896
Bor 1901 NA 10.64896
Bor 1902 10.23056 20.64896

drop_na(ends_with("date"))
Returns a data frame without NA values in plant_date and harvest_date columns.

location year plant_date harvest_date
Als 1901 10.00000 24.02899
Als 1902 12.58863 45.02899
Bea 1900 5.00000 18.00000
Bea 1901 3.31119 10.00000
Bor 1900 12.52136 18.14896
Bor 1902 10.23056 20.64896

add_row

Summary
Add rows with given column values.

Syntax
add_row()

Arguments

Return Value
Data Frame

Example

Original Data:

ID name
4716 Oracle
4755 Rakuten
2432 DeNA

add_row(ID = 4689)

ID name
4716 Oracle
4755 Rakuten
2432 DeNA
4689 NA

add_row(ID = 4689, name = "Yahoo")

ID name
4716 Oracle
4755 Rakuten
2432 DeNA
4689 Yahoo

parse_number

概要
文字列などを除いた上で数値のみを抽出し、Numeric(数値)型に変換します。

シンタックス
parse_number(<列名>, na = c("", "NA"), locale = <ロケール>)

引数

返り値
Numeric


parse_number("12345")
12345を返します。
parse_number("12345.10")
12345.1を返します。
parse_number("$12,345.10")
12345.1を返します。
parse_number("$12.20M")
12.2を返します。
parse_number(as.Date("2015-01-30") - as.Date("2015-01-15"))
15を返します。

parse_double

概要
データをDouble(倍精度浮動小数点数)型に変換します。

シンタックス
parse_double(<列名>, na = c("", "NA"), locale = <ロケール>)

引数

返り値
Double


parse_double("12345")
12345を返します。
parse_double("12345.10")
12345.1を返します。

parse_euro_double

概要
データをDouble(倍精度浮動小数点数)型に変換します。

シンタックス
parse_euro_double(<列名>, na = c("", "NA"))

引数

返り値
Double


parse_euro_double("12345")
12345を返します。
parse_euro_double("12345.10")
12345.1を返します。

parse_integer

概要
データをInteger(整数)型に変換します。

シンタックス
parse_integer(<列名>, na = c("", "NA"), locale = <ロケール>)

引数

返り値
Integer


parse_integer("12345")
12345を返します。
parse_integer("12345.10")
12345を返します。

parse_time

概要
データをTime(時間)型に変換します。

シンタックス
parse_time(<列名>, format = <時間のフォーマット>, locale = <ロケール>)

引数

返り値
time


parse_time("13:10:05")
"13:10:05"を返します。
parse_time("13:10:05", locale = locale(tz = "America/Los_Angeles"))
"13:10:05"を返します。
parse_time("10:20:15 PM") "22:20:15"を返します。
parse_time("10:20:15 午後", local = locale("ja"))
"22:20:15"を返します。

parse_character

概要
データをCharacter(文字列)型に変換します。

シンタックス
parse_character(<列名>, na = c("", "NA"), locale = <ロケール>)

引数

返り値
Character


parse_character(123.11)
文字列型として"123.11"を返します。

parse_factor

概要
データをFactor(順序付きカテゴリー)型に変換します。

シンタックス
parse_factor(x, levels = c("値1", "値2", ...), na = c("", "NA"), locale = <ロケール>)

引数

返り値
Factor


columnA - "iMac", "iPod", "iPhone", "iPod", "iPhone"
parse_factor(columnA)
データとしてはiMac, iPod, iPhone, iPod, iPhoneを返しますが、レベルとしては出現順であるiMac, iPod, iPhoneを返します。

parse_logical

概要
データをLogical(論理値)型に変換します。

シンタックス
parse_logical(<列名>, na = c("", "NA"), locale = <ロケール>)

引数

返り値
Logical


parse_logical("TRUE")
TRUEを返します。
parse_logical("T")
TRUEを返します。

type_convert

概要
Heuristically guess the data type for each column by reading the first 1000 rows, parse the data, and set appropriate data types for all the columns of the data frame.

シンタックス
type_convert()

引数

返り値
Data Frame


type_convert()

ym

概要

年、月の順番の文字列または数値データを日付型に変換します。

シンタックス

ym(<列名>, tz = <タイムゾーン>, locale = <ロケール>)

引数

返り値

Date

ym("2015-10")
"2015-10-01"を返します。
ym("2015/10")
"2015-10-01"を返します。
ym("Created on 2015 10")
"2015-10-01"を返します。
ym("2015, Oct", locale = "English") "2015-10-01"を返します。

my

概要

月、年の順番の文字列または数値データを日付型に変換します。

シンタックス my(<列名>, tz = <タイムゾーン>, locale = <ロケール>)

引数

返り値 Date

my("01-2015")
"2015-01-01"を返します。
my("01/2015")
"2015-01-01"を返します。
my("Created on 1 2015")
"2015-01-01"を返します。
my("Oct, 2015", locale = "English") "2015-10-01"を返します。

yq

概要

年と四半期の文字列データを日付型に変換します。

シンタックス
yq(<列名>, tz = <タイムゾーン>, locale = <ロケール>)

引数

返り値
Date


yq("2016.2")
"2016-04-01"を返します。
yq("2016-03") "2016-07-01"を返します。

epiweek

概要

年の週番号を抽出します。週の開始曜日は日曜日になっています。

シンタックス
epiweek(<日付列>)

返り値
Numeric


epiweek(ymd(c( \ "2020-01-01",\ "2020-01-02",\ "2020-01-03",\ "2020-01-04",\ "2020-01-05",\ "2020-01-06",\ "2020-01-07",\ "2020-01-08")))\ 1,1,1,1,2,2,2,2を返します。 (2020-01-05が日曜日です)

as_date

概要

POSIXct型の列をDate型に変換できます。

シンタックス
as_date(<日付時間型の列>)

引数

返り値
Date


as_date(ymd_hms("2015-10-10 13:10:05"))

"2015-10-10"を返します。

as_datetime

概要

データをPOSIXct型に変換します。

シンタックス
as_datetime(<日付>, format = <date_time_format>, tz = <タイムゾーン>, origin = <text>)

引数

返り値
POSIXct

as_datetime("2015-10-10 13:10:05") "2015-10-10 13:10:05 PDT"を返します。
as_datetime("2015-10-10 13:10:05", tz = "America/Los_Angeles") "2015-10-10 13:10:05 PDT"を返します。
as.as_datetime("2015-10-10 13:10:05", tz = "Asia/Tokyo") "2015-10-10 13:10:05 JST"を返します。
as_datetime("05-10-15T13:10:05", format = "%d-%m-%yT%H:%M") "2015-10-05 13:10:00 PDT"を返します。

str_trunc

概要
テキストの文字数が指定された数になるように、テキストを切り捨てます。

シンタックス
str_trunc(<テキストの列>, width = <数値>, side = "right"|"left"|"center", ellipsis = <文字>)

引数

返り値
Character


str_trunc("Exploratory", 6)
"Exp..."を返します。

str_trunc("Exploratory", 6, side = "left")
"...ory"を返します。

str_remove

概要
指定した文字列または正規表現に一致する文字列を取り除きます。

シンタックス
str_remove(<テキストの列>, <pattern>)

引数

返り値
Character


str_remove("I am traveling to New York!!", "New") "New"を取り除き"I am traveling to York!!"を返します。

str_remove_all

概要
指定した文字列または正規表現に一致する文字列をすべて取り除きます。

シンタックス
str_remove_all(<テキストの列>, <pattern>)

引数

返り値
Character


str_remove_all("I am traveling to New York and New Jersey!!", "New")
すべての"New"を取り除き"I am traveling to York and Jersey!!"を返します。

str_remove_word

概要
文章から単語を取り除きます。

シンタックス
str_remove_word(<テキストの列>, start = <数値>, end = <数値>, sep = <区切り文字>)

引数

注意: 現在は最初と最後の単語の削除のみ機能しています。

返り値
Character


str_remove_word("I am traveling to New York!!", start = 1) "am traveling to York!!"を返します。

str_replace_word

概要
文章にある単語を指定して単語に置換します。

シンタックス
str_replace_word(<テキストの列>, start = <数値>, end = <数値>, sep = <区切り文字>, rep = <置換する文字列>)

引数

注意: 現在は最初と最後の単語の置換のみ機能しています。

返り値
Character


exploratory::str_replace_word("I am traveling to New York", start = -1, sep = " ", rep = "England") "I am traveling to New England"を返します。

str_remove_inside

概要
指定した文字の範囲内に含まれる文字を取り除きます。

シンタックス
str_remove_inside(<テキストの列>, begin = <開始文字>, end = <終了文字>, all = <TRUE|FALSE>, include_special_chars = <TRUE|FALSE>)

引数

返り値
Character


exploratory::str_remove_inside("I am traveling to New York (2020)", begin = "(", end = ")") 括弧で囲われた文字を削除し、"I am traveling to New York "を返します。

str_replace_inside

概要
指定した文字の範囲内に含まれる文字を置換します。

シンタックス
str_replace_inside(<テキストの列>, begin = <開始文字>, end = <終了文字>, rep = <置換する文字>, all = <TRUE|FALSE>, include_special_chars = <TRUE|FALSE>)

引数

返り値
Character


exploratory::str_replace_inside("I am traveling to New (York)", begin = "(", end = ")", rep = "England") 括弧で囲われた文字を"England"に置き換えた"I am traveling to New England"を返します。

str_remove_url

概要
文字列の中にあるURLを取り除きます。

シンタックス
str_remove_url(<テキストの列>, position = <start/end/any>)

引数

返り値
Character


str_remove_url("I am traveling to New York http://例.com", position = "any") "I am traveling to New York "を返します。

str_replace_url

概要
文字列の中のURLを指定したテキストに置換します。

シンタックス
str_replace_url(<テキストの列>, rep = <テキスト>)

引数

返り値
Character


str_replace_url("I am traveling to New http://例.com/ny", rep = "York") "I am traveling to New York"を返します。

str_extract_url

概要
文字列の中からURLを抽出します。

シンタックス
str_extract_url(<テキストの列>)

返り値
Character


str_extract_url("I am traveling to New http://例.com/ny") "http://例.com/ny"を返します。

str_remove_emoji

概要
文字列の中から絵文字を取り除きます。

シンタックス
str_remove_emoji(<テキストの列>)

返り値
Character


str_remove_emoji("I am traveling to New York 🤩") "I am traveling to New York "を返します。

model_info

Summary

Returns a summary information of a given model in a tidy (normalized data frame) format.

Syntax

model_info(<column_list>, output = <model_info_output_type>, ...)

Arguments
* output (Optional) - The default is "summary". This changes the type of output. Can be one of the following.

Returned Values

Example

Following examples assumes that 'model' column contains a fitted model of 'lm' by do() command.

model_info(model, output = "summary")

r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual
0.8879 0.8879 13.0886 1716441.58 0 3 -1729152.62 3458313.24 3458357.15 74228528.48 433295

model_info(model, output = "variables")

term estimate std.error statistic p.value
(Intercept) -3.0966 0.0341 -90.749 0
2 DEP_DELAY 1.003 0.0005 1851.9463 0
3 DISTANCE -0.0037 0 -114.3364 0

model_info(model, output = "data")

.rownames ARR_DELAY DEP_DELAY .fitted .se.fit .resid .hat .sigma .cooksd .std.resid
1 -15 -9 -13.934 0.0247 -1.066 0.0000035503 13.0886 7.8503e-9 -0.0814
2 -28 -19 -22.4116 0.035 -5.5884 0.0000071333 13.0886 4.3348e-7 -0.427

as.hms

概要
指定されたデータをhms型のデータに変換します。Hms,difftimeの値を計算で使う際には秒単位で処理されます。

シンタックス
as.hms(<列名>)

引数

返り値
hms


as.hms(20)
00:00:20を返します。

is.hms

概要
指定したオブジェクトがhms型の場合はTRUEを返します。

シンタックス
is.hms(<列名>)

引数

返り値
Logical


mutate_if(is.hms, as.character)
hms型の列をCharacter型(文字列型)に変換します。

remove_empty_rows

概要
Remove rows whose column values are all NAs.

シンタックス
remove_empty_rows()

Original data:

item_name transaction_id
banana 1
apple 1
NA NA
carrot 2
apple 2
NA NA
orange 3
NA 3

remove_empty_rows()
Returns the data without all NA rows.

item_name transaction_id
banana 1
apple 1
carrot 2
apple 2
orange 3
NA 3

remove_empty_cols

概要
Remove columns whose values are all NAs.

シンタックス
remove_empty_cols()

Original data:

item_name transaction_id tag
banana 1 NA
apple 1 NA
carrot 2 NA
apple 2 NA
orange 3 NA
NA 3 NA

remove_empty_cols()
Returns the data without all NA columns.

item_name transaction_id
banana 1
apple 1
carrot 2
apple 2
orange 3
NA 3

clean_names

概要
Make column names clean by using only _ character, lowercase letters, and numbers.

シンタックス
clean_names()

Original data:

Item Name .transaction
banana 1
apple 1
carrot 2
apple 2
orange 3
NA 3

clean_names()
Returns data with clean column names.

item_name _transaction
banana 1
apple 1
carrot 2
apple 2
orange 3
NA 3

get_dupes

概要
Get rows that are duplicated.

シンタックス
get_dupes(<column(s)>)

Original data:

name n
banana 1
apple 1
apple 1
apple 2

get_dupes(name)
Returns rows that are duplicated in name column.

name n
apple 1
apple 1
apple 2

get_dupes()
Returns rows that are duplicated in all columns.

name n
apple 1
apple 1

excel_numeric_to_date

概要
Excelの日付の数値(例: 42370)を日付型(例: 2016-01-01)に変換します。

シンタックス
excel_numeric_to_date(<数値列>, date_system = "modern"|"mac pre-2011")

引数

元のデータ:

user last_login
Lisa 42370
Emily 42318
John 42489

excel_numeric_to_date(last_login) Excelの日付の数値を日付型に変換した下記の結果を返します。

user last_login
Lisa 2016-01-01
Emily 2015-11-10
John 2016-04-29

返り値
Date

convert_to_NA

概要
Convert specific values to NA.

シンタックス
convert_to_NA(strings = <character_vector>)

Arguments

Original data:

item_name transaction_id
banana 1
apple 1
-99 -99
carrot 2
apple 2
-99 -99
orange 3
-99 -99

convert_to_NA("-99")
Convert -99 to NA even if it's numeric.

item_name transaction_id
banana 1
apple 1
NA NA
carrot 2
apple 2
NA NA
orange 3
NA NA

tabyl

概要
Create frequency table.

シンタックス
tabyl(, sort = FALSE, show_na = TRUE)

Arguments

Original data:

item_name transaction_id
banana 1
apple 1
NA NA
carrot 2
apple 2
NA NA
orange 3
NA 3

tabyl(item_name)
Show ratio of item_name with NA and without it.

item_name n percent valid_percent
apple 1 0.125 0.2
apple 1 0.125 0.2
banana 1 0.125 0.2
carrot 1 0.125 0.2
orange 1 0.125 0.2
NA 3 0.375 NA

as_factor

概要

指定した列を順序付きカテゴリーの列に変換します。標準搭載のbase関数のas.factor との違いは、出現する順序でレベルを作成する点です。またすべてのプラットフォームで同じ挙動です。 (base関数はロケールでソートするため、環境に応じて結果が変わる可能性があります)

シンタックス
as_factor(<列名>)

引数

x <- c("FR", "US", "JP")
as_factor(x)
指定したFR, US, JPの順序でカテゴリーを返します。

fct_anon

概要 順序付きカテゴリーのレベルを匿名化し、任意の数値に置き換えます。値もレベルの順序も保持されません。

シンタックス
fct_anon(<列名>, prefix = <文字列>)

引数

x <- factor(c("FR", "US", "JP"))
fct_anon(x)
1, 2, 3という順序付きカテゴリーの値が返ります。.

fct_expand

概要
ファクター型の列にレベルを追加します。

シンタックス
fct_expand(<列名>, <文字列>)

引数

x <- factor(c("FR", "US"))
fct_expand(x, "JP", "CA")
ファクター型の列にレベルが追加され、FR US JP CAの値が返ります。

fct_drop

概要
ファクター型の列から不要なレベルを削除します。

シンタックス
fct_drop(<列名>, only = <文字列>)

引数

x <- factor(c("FR", "US"), levels = c("FR", "US", "JP", "CA"))
fct_drop(x)
FR, USという順序付きのカテゴリーが返ります。

fct_drop(x, only = "CA")
FR, US, JPという順序付きのカテゴリーが返ります。

fct_explicit_na

概要
欠損値にレベルが与えられ、欠損値がカテゴリーとして確実にチャートで表示されるようになります。

シンタックス
fct_explicit_na(<列名>, na_level = <文字列>)

引数

x <- factor(c("FR", NA, "US", NA, "JP"))
fct_explicit_na(x, "値なし")
FR, 値なし, US, 値なし, JPという値があり、FR JP US 値なしの順でレベルが設定されます。

fct_lump

概要

データタイプをfactor型にし、値の出現頻度に応じて、出現頻度が低い値を「Other」グループにします。

シンタックス
fct_lump(<列>, n = <残すカテゴリー数>, prop = <数値>, other_level = <テキスト>, ties.method = <メソッドのタイプ>, w = <数値列>)

引数

引数のnとpropの両方が指定されていない場合、fct_lumpは最も頻度の低い値を「Other」グループにまとめ、「Other」は最小のレベルとなります。

fct_lump(国, n = 10)

これにより、最も頻度の高い10カ国を保持し、それ以外の国をまとめた「Other」グループが作成されます。

fct_lump(国, prop = .1)

これにより、行の数における国の割合が10%以上の国のみを保持し、10%未満の国をまとめた「その他」グループが作成されます。

fct_lump(国, n = 5, w = 売上)

これにより、各国の売上の合計として計算される最大の重みを持つ5つ国のみを保持し、それ以外の国をまとめた「Other」グループが作成されます。

fct_other

概要
指定した値を「Other」グループにまとめる、または指定した値以外を「Other」グループにまとめることができます。

シンタックス
fct_other(<列>, keep = c("<値(複数)>"), drop = c("<値(複数)>"), other_level = <テキスト>)

引数

fct_other(国, keep = c("日本", "アメリカ", "イギリス")

これにより、国の列では日本、アメリカ、イギリスのみを保持し、それ以外の国を「Other」グループにまとめます。

fct_other(国, drop = c("日本", "アメリカ", "イギリス")

これにより、国の列では日本、アメリカ、イギリスを「Other」グループにまとめ、それ以外の国を保持します。

fct_inorder

概要
元のデータ順に基づき値に順序をつけ、データタイプをfactor型に変換します。

シンタックス
fct_inorder(<factor型にしたい列>, ordered = <logical>)

引数

x <- c("FR", "US", "US", "JP", "US", "JP") -- it can be used for Character data type column. fct_inorder(x)
データタイプをfactor型に変え、値の出現順が先であるFR, US, JPの順で順序がつけられます。

fct_infreq

概要
値の頻度をもとに順序をつけ、データタイプをfactor型に変換します。

シンタックス fct_infreq(<factor型にしたい列>, ordered = <TRUE/FALSE>)

引数

x <- c("FR", "US", "US", "JP", "US", "JP") -- it can be used for Character data type column. fct_infreq(x)
データタイプをfactor型に変え、値の頻度が多いUS,JP,FRの順で順序がつけられます。

fct_relevel

概要

値の順序を指定し、データタイプをfactor型に変換します。

シンタックス
fct_relevel(<factor型にしたい列>, ...)

引数


x <- c("France", "Japan", "Australia", "United States") -- character型の列を作成。 fct_relevel(x, "Japan")
Japan, Australia, France, United Statesの順で結果が返されます.元のデータタイプがCharacter型の場合は、指定した"Japan"以外は、アルファベット順で値の順序がつけられます。

x <- factor(level = c("France", "Japan", "Australia", "United States")) -- 順序を持つfactor型の列を作成。 fct_relevel(x, "Japan")
Japan, France, Australia, United Statesの順で結果が返されます。元のデータタイプがfactor型の場合は、指定した"Japan"以外は、元々の順序がつけられます。

x <- factor(level = c("France", "Japan", "Australia", "United States")) -- 順序を持つfactor型の列を作成。 fct_relevel(x, "Japan", "United States")
Japan, United States, France, Australiaの順で結果が返されます。

fct_reorder

概要
別の列のソートした値に基づいて値の順序を設定し、データタイプをfactor型に変換します。

シンタックス

fct_reorder(<factor型にしたい列>, <数値列>, .fun = <集計関数>, ..., .desc = <TRUE/FALSE>)

引数

mutate(Country = fct_reorder(Country, Sales))
Country列をfactor型に変え、Salesの値に基づいて順序を設定します。引数を設定していないため、Salesの中央値(median)の昇順でソートした値で順序が付けられます。

mutate(Country = fct_reorder(Country, Sales, .desc = TRUE))
Country列をfactor型に変え、さらにSalesの中央値(median)の降順に基づいて順序を設定します。

mutate(Country = fct_reorder(Country, Sales, .fun = sum, .desc = TRUE, na.rm = TRUE))
Country列をfactor型に変え、さらにSalesの合計値(sum)の降順に基づいて順序を設定します。na.rm = TRUEの引数は、集計関数を使う際に欠損値を除いた上で計算を行うことができます。

fct_rev

概要
factor型の列のレベルを反転させます。

シンタックス

fct_rev(<factor型の列>)

Arguments


x <- factor(c("FR", "US", "JP"))
レベルがFR, JP, USの順序であるfactor型の列が作成されます。

fct_rev(x)
順序を反転させたUS, JP, FRの順で順序を付けることができます。

xgboost_reg

Summary
Create extreme gradient boosting model for regression.

Syntax
xgboost_reg(watchlist_rate = <numeric>, output_type = <xgb_reg_output_type>, nrounds = <integer>, booster = <xgboost_booster_type>, eval_metric = <xgb_reg_evaluation_type>, weight = <column_num>, early_stopping_rounds = <integer>)

Arguments

Return Value
Model

Example

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 30 1000
UA -5 0 200
AA 20 20 500
AA -5 3 700
AA 10 8 1000

%>% group_by(CARRIER)

%>% build_model(model_func = xgboost_reg, formula = DEP_DELAY ~ ARR_DELAY + DISTANCE, test_rate = 0.1)
Returns a data frame that stores a xgb.Booster model based on a formula defined as 'Predict DEP_DELAY based on ARR_DELAY and DISTANCE.' It also returns a column of original data.

CARRIER source_data model .test_index
UA source dataframe xgb.Booster model c(1)
AA source dataframe xgb.Booster model c(2)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

xgboost_binary

Summary
Create extreme gradient boosting model for binary classification.

Syntax
xgboost_binary(watchlist_rate = <numeric>, output_type = <xgb_binary_output_type>, nrounds = <integer>, booster = <xgboost_booster_type>, eval_metric = <xgb_binary_evaluation_type>, weight = <column_num>, early_stopping_rounds = <integer>)

Arguments

Return Value
Model

xgboost_multi

Summary
Create extreme gradient boosting model for binary classification.

Syntax
xgboost_multi(watchlist_rate = <numeric>, output_type = <xgb_multi_output_type>, nrounds = <integer>, booster = <xgboost_booster_type>, eval_metric = <xgb_multi_evaluation_type>, weight = <column_num>, early_stopping_rounds = <integer>)

Arguments

Return Value
Model

Example

randomForestReg

Summary
Create random forest model for regression.

Syntax
randomForestReg(subset = <column_logical>, na.action = <'na_action_type'>, ntree = <integer>, mtry = <numeric>, replace = <logical>, strata = <column>, sampsize = <integer>, nodesize = <integer>, maxnodes = <integer>, importance = <logical>, localImp = <logical>, nPerm = <integer>, proximity = <logical>, oob.prox = <logical>, keep.forest = <logical>, corr.bias = <logical>, keep.inbag = <logical>)

Arguments

Return Value
Model

Example

randomForestBinary

Summary
Create random forest model for binary classification.

Syntax
randomForestReg(subset = <column_logical>, na.action = <'na_action_type'>, ntree = <integer>, mtry = <numeric>, replace = <logical>, classwt = <numeric>, cutoff = <numeric>, strata = <column>, sampsize = <integer>, nodesize = <integer>, maxnodes = <integer>, importance = <logical>, localImp = <logical>, nPerm = <integer>, proximity = <logical>, oob.prox = <logical>, norm.votes = <logical>, keep.forest = <logical>, corr.bias = <logical>, keep.inbag = <logical>)

Arguments

Return Value
Model

Example

randomForestMulti

Summary
Create random forest model for multi class classification.

Syntax
randomForestReg(subset = <column_logical>, na.action = <'na_action_type'>, ntree = <integer>, mtry = <numeric>, replace = <logical>, classwt = <numeric>, cutoff = <numeric>, strata = <column>, sampsize = <integer>, nodesize = <integer>, maxnodes = <integer>, importance = <logical>, localImp = <logical>, nPerm = <integer>, proximity = <logical>, oob.prox = <logical>, norm.votes = <logical>, keep.forest = <logical>, corr.bias = <logical>, keep.inbag = <logical>)

Arguments

Return Value
Model

Example

list_extract

概要
リスト内のデータがデータフレームの場合、位置または名前をもとにリストのデータ型の列の値を抽出します。

シンタックス
list_extract(<リストの列>, position = <数値>, rownum = <数値>)

引数

返り値
Character

1) 列は文字列のリストの場合

mutate(テキスト= list_extract(カテゴリー, 1))
以下の結果を返します。

カテゴリー テキスト
c("Doctors", "Health & Medical") Doctors
c("Bars", "American (New)", "Nightlife") Bars

mutate(テキスト = list_extract(カテゴリー, -1))
最後から1番目の要素の値を返します。

カテゴリー テキスト
c("Doctors", "Health & Medical") Health & Medical
c("Bars", "American (New)", "Nightlife") Nightlife

2) 列がデータフレームのリストの場合

mutate(テキスト = list_extract(ラベル, 1))
1列目と1行目の値を返します。指定がない場合、デフォルトで1行目の値を返します。

ラベル テキスト
list(name = c("Regression", "UI"), color = c("5319e7", "207de5")) Regression

mutate(テキスト = list_extract(ラベル, -1))
最後の列と最初の行の値を返します。

ラベル テキスト
list(name = c("Regression", "UI"), color = c("5319e7", "207de5")) 5319e7

mutate(text = list_extract(labels, 1, 2))
1列目の2行目の値を返します。

ラベル テキスト
list(name = c("Regression", "UI"), color = c("5319e7", "207de5")) UI

mutate(text = list_extract(labels, "name"))
列「name」と最初の行の値を返します。 指定がない場合、デフォルトは 1 行目の値を返します。

ラベル テキスト
list(name = c("Regression", "UI"), color = c("5319e7", "207de5")) Regression

list_to_text

概要
リストデータ型の列のすべての要素のテキストを連結します。

シンタックス
list_to_text(<リストの列> , sep = <文字列>)

引数

返り値
character

mutate(カテゴリーのテキスト = list_to_text(カテゴリー))
以下の結果を返します

カテゴリー カテゴリーのテキスト
c("Doctors", "Health & Medical") Doctors, Health & Medical
Nightlife Nightlife
c("Active Life", "Mini Golf", "Golf") Active Life, Mini Golf, Golf
c("Bars", "American (New)", "Nightlife") Bars, American (New), Nightlife
c("Bars", "American (Traditional)", "Nightlife") Bars, American (Traditional), Nightlife

list_concat

概要
複数の列の値をリストとして連結します。

シンタックス
list_concat(<列名>, collapse = <TRUE|FALSE>)

引数

返り値
list

mutate(連結した項目 = list_concat(項目1, 項目2))
以下の結果を返します。

Before:

名前 項目1 項目2
Cathy c("Banana", "Apple") "Apple"
Mary "Lemon" c("Lemon", "Banana")
Lisa c("Lemon", "Banana") c("Banana", "Apple")

After:

名前 項目1 項目2 連結した項目
Cathy c("Banana", "Apple") "Apple" c("Banana", "Apple", "Apple")
Mary "Lemon" c("Lemon", "Banana") c("Lemon", "Lemon", "Banana")
Lisa c("Lemon", "Banana") c("Banana", "Apple") c("Lemon", "Banana", "Banana", "Apple")

summarize(カテゴリー = list_concat(カテゴリー, collapse = TRUE))
以下の結果を返します。

Before:

"地域"でグループ化

地域 カテゴリー
East c("Doctors", "Health & Medical")
East Nightlife
East c("Active Life", "Mini Golf", "Golf")
West c("Bars", "American (New)", "Nightlife")
West c("Bars", "American (Traditional)", "Nightlife")

After:

region カテゴリー
East c("Doctors", "Health & Medical", "Nightlife", "Active Life", "Mini Golf", "Golf")
West c("Bars", "American (New)", "Nightlife", "Bars", "American (Traditional)", "Nightlife")

list_n

概要
行ごとにリストデータ型の列内の要素の数を返します。

シンタックス
list_n(<リスト型の列>)

引数

返り値
Numeric

mutate(要素数 = list_n(カテゴリー)) 以下の結果が返ります。

カテゴリー 要素数
c("Doctors", "Health & Medical") 2
Nightlife 1
c("Active Life", "Mini Golf", "Golf") 3
c("Bars", "American (New)", "Nightlife", "Lounges", "Restaurants") 5
c("Bars", "American (Traditional)", "Nightlife", "Restaurants") 4

normalize

概要
列の数値をセンタリングまたはスケーリングします。

シンタックス
normalize(<数値列>, center = <TRUE|FALSE>, scale = <TRUE|FALSE>)

引数

返り値
Numeric

// x <- c(1, 2, 3, 4, 5, 100)
normalize(x, center = 0) -0.4584610 -0.4332246 -0.4079882 -0.3827518 -0.3575154 2.0399410. を返します。これは以下の計算結果と等しくなります。
(x - mean(x)) / sd(x)

normalize(x, center = FALSE) _0.02229944 0.04459888 0.06689832 0.08919776 0.11149720 2.22994404を返します。 これは以下の計算結果と等しくなります。
x / sqrt(sum(x^2)/(length(x)-1))

normalize(x, center = 0, scale = max(x)))
0.01 0.02 0.03 0.04 0.05 1.00を返します。

anonymize

概要
ハッシュ・アルゴリズムによって値を匿名化します。

シンタックス
anonymize(<列名>, algo = <アルゴリズム>, seed = <整数値>, chars = <文字列>, n_chars = <整数値>)

引数

元のデータ:

名前 ログインID
Lisa 1482148710
Lisa 1484148710
Emily 1479913692
John 1481128318

mutate(ログインID = anonymize(名前, algo = "murmur32") 匿名化された値が返ります。

名前 ログインID
6fe21ea2 1482148710
6fe21ea2 1484148710
2f968d4a 1479913692
9b5f08f7 1481128318

返り値
Character

excel_numeric_to_datetime

概要 Excelで数値になっている日付/時刻の値をPOSIXct型の値に変換します。

シンタックス
excel_numeric_to_datetime(<数値列>, tz = <タイムゾーン>)

引数

Original data:

顧客名 最後のログイン日時
Lisa 42370.5
Emily 42318.25
John 42489.75

mutate(最後のログイン日時 = excel_numeric_to_datetime(最後のログイン日時)) 最後のログイン日時がPOSIXctに変換されたデータフレームを返します。

顧客名 最後のログイン日時
Lisa 2016-01-01 12:00:00
Emily 2015-11-10 06:00:00
John 2016-04-29 18:00:00

返り値
POSIXct

unixtime_to_datetime

概要
unix時間の数値をPOSIXctに変換します。

シンタックス
unixtime_to_datetime(<数値列>)

Original data:

顧客名 最後のログイン日時
Lisa 1482148710
Emily 1479913692
John 1481128318

mutate(最後のログイン日時 = unixtime_to_datetime(最後のログイン日時)) 最後のログイン日時の列がPOSIXctに変換されたデータフレームを返します。

顧客名 最後のログイン日時
Lisa 2016-12-19 11:58:30 GMT
Emily 2016-11-23 15:08:12 GMT
John 2016-12-07 16:31:58 GMT

返り値
Date, POSIXct

do_svd.kv

Summary
Calculates coordinations by reducing dimensionality using SVD (Singular Value Decomposition).

Syntax
do_svd.kv(<subject_column>, <key_column>, <value_column>, type = <svd_type>, fill = <numeric>, fun.aggregate = <aggregate_function>, n_component = <integer>, centering = <logical>, output = <svd_output>)

Arguments

Return Value
Data frame

Example

Original data:

author_name keywords tfidf_value
Cathy party 3.2
Cathy exciting 1.3
Cathy friends 0.8
Mary study 2.4
Mary exam 2.1
Mary hard 1.5
Lisa sports 1.9
Lisa exciting 1.8
Lisa hard 1.6

do_svd.kv(document_name, keywords, tfidf_value, n_component=2)
Reducing the number of the dimensions (keywords) to 2 and returning the result in a 'long' data form.

author_name new.dimension value
Cathy 1 -0.7131255
Cathy 2 0.3976414
Lisa 1 0.0121952
Lisa 2 -0.8164055
Mary 1 0.7009303
Mary 2 0.4187641

do_svd.kv(name, key, value, n_component=2, output="wide")
Reducing the number of the dimensions (keywords) to 2 and returning the result in a 'wide' data form.

author_name axis1 axis2
Cathy -0.7131255 0.3976414
Lisa 0.0121952 -0.8164055
Mary 0.7009303 0.4187641

do_svd.kv(name, key, value, n_component=2, type="dimension")
Reducing the number of the dimensions (keywords) to 2 and returning the result by 'dimensions' instead of by 'group'.

top_key_words new.dimension value
exam 1 0.4163953
exam 2 0.3259924
exciting 1 -0.2560436
exciting 2 -0.3531243
friends 1 -0.1613866
friends 2 0.1179235
hard 1 0.3029449
hard 2 -0.2513704
party 1 -0.6455466
party 2 0.4716940
sports 1 0.0065547
sports 2 -0.5750138
study 1 0.4758803
study 2 0.3725628

do_svd.kv(name, key, value, n_component=2, type="variance")
Reducing the number of the dimensions (keywords) to 2 and returning the 'variance' values for each dimension

new.dimension value
1 3.534991
2 2.697623

do_svd

Summary
Calculates coordinations by reducing dimensionality using SVD (Singular Value Decomposition).

Syntax
do_svd(<column(s)>, skv = <character_vector>, type = <svd_type>, fill = <numeric>, fun.aggregate = <aggregate_function>, n_component = <integer>, centering = <logical>, output = <svd_output>

Arguments

Return Value
Data frame

build_lm

Summary
Builds a linear regression model (lm) and store it in a data frame.

Syntax
build_lm(<formula>, test_rate = <numeric>, subset = <numeric_vector>, weights = <numeric_vector>, na.action = <na_action_type>, method = <lm_method_type>, model = <logical>, x = <logical>, y = <logical>, qr = <logical>, singular.ok = <logical>, contrasts = <list>, offset = <numeric_vector>)

Arguments

Return Value
Data frame

Example

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 30 1000
UA -5 0 200
AA 20 20 500
AA -5 3 700
AA 10 8 1000

%>% group_by(CARRIER)

%>% build_lm(ARR_DELAY ~ DEP_DELAY + DISTANCE, test_rate = 0.1)
Returns a data frame that stores a lm (Linear Regression) model based on a formula defined as 'Predict ARR_DELAY based on DEP_DELAY and DISTANCE.' It also returns a column of original data.

CARRIER source_data model .test_index
UA source dataframe lm model c(1)
AA source dataframe lm model c(2)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

do_survfit

Summary
Calculates Survival Curve from survival time and survival status.

Syntax
do_survfit(<column_num>, <column_num_logic>, weights = <numeric_vector>, subset = <numeric_vector>, na.action = <na_action_type>, id = <id_column>, istate = <column>, type = <survival_curve_type>, error = <survfit_error_type>, conf.type = <survfit_conf_int_type>, conf.lower = <survfit_lower_conf_int_type>, conf.int = <numeric>, se.fit = <logical>, influence = <logical>)

Arguments

Return Value
Data frame

Example

Original data:_

status time
1 40
1 30
0 35
0 8

do_survfit(time, status) Returns a data frame as follows.

time n_risk n_event n_censor estimate std_error conf_high conf_low
8 4 0 1 1.0000000 0.0000000 1 1.0000000
30 3 1 0 0.6666667 0.4082483 1 0.2995071
35 2 0 1 0.6666667 0.4082483 1 0.2995071
40 1 1 0 0.0000000 Inf NA NA

prediction_survfit

Summary
Simulates Survival Curve for specified cohort based on a survival model.

Syntax
prediction_survfit(newdata = <cohort_data_set>, na.action = <na_action_type>, type = <coxph_survival_curve_type>, conf.type = <survfit_conf_int_type>, conf.int = <numeric>, se.fit = <logical>, censor = <logical>, start.time = <numeric>)

Arguments

Return Value
Data frame

Example

Original data: model data frame.

prediction_survfit(newdata = data.frame(age = c(50, 60), sex = (0, 1))) Returns a data frame as follows.

time n_risk n_event n_censor age_sex estimate std_error conf_high conf_low
8 4 0 1 50_0: 1.0000000 0.0000000 1 1.0000000
30 3 1 0 50_0: 0.6666667 0.4082483 1 0.2995071
35 2 0 1 50_0: 0.6666667 0.4082483 1 0.2995071
40 1 1 0 50_0: 0.0000000 Inf NA NA

build_lr

Summary
Builds logistic regression model and store it in a data frame.

Syntax
build_lr(<formula>, test_rate = <numeric>, weights = <numeric_vector>, subset = <numeric_vector>, na.action = <na_action_type>, start = <numeric_vector>, etastart = <numeric_vector>, mustart = <numeric_vector>, offset = <numeric_vector>, epsilon = <numeric>, maxit = <integer>, trace = <logical>, model = <logical>, method = <glm_method_type>, contrasts = <list>, x = <logical>, y = <logical>)

Arguments

Example

Original data:

CARRIER IS_DELAYED DEP_DELAY DISTANCE
UA TRUE 7 300
UA TRUE 30 1000
UA FALSE 0 200
AA TRUE 20 500
AA FALSE 3 700
AA TRUE 8 1000

%>% group_by(CARRIER)

%>% build_lr(IS_DELAYED ~ DEP_DELAY + DISTANCE, test_rate = 0.1)
Returns a data frame that stores a GLM model based on a formula defined as 'Predict ARR_DELAY based on DEP_DELAY and DISTANCE.'

CARRIER source_data model .test_index
UA source dataframe glm model c(1)
AA source dataframe glm model c(2)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

build_glm

Summary
Builds generalized linear models (glm) and store it in a data frame.

Syntax
build_glm(<formula>, test_rate = <numeric>, family = <glm_family_type>, weights = <numeric_vector>, subset = <numeric_vector>, na.action = <na_action_type>, start = <numeric_vector>, etastart = <numeric_vector>, mustart = <numeric_vector>, offset = <numeric_vector>, epsilon = <numeric>, maxit = <integer>, trace = <logical>, model = <logical>, method = <glm_method_type>, contrasts = <list>, x = <logical>, y = <logical>)

Arguments

Example

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 30 1000
UA -5 0 200
AA 20 20 500
AA -5 3 700
AA 10 8 1000

%>% group_by(CARRIER)

%>% build_glm(ARR_DELAY ~ DEP_DELAY + DISTANCE, test_rate = 0.1)
Returns a data frame that stores a GLM model based on a formula defined as 'Predict ARR_DELAY based on DEP_DELAY and DISTANCE.'

CARRIER source_data model .test_index
UA source dataframe lm model c(1)
AA source dataframe lm model c(2)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

build_multinom

Summary
Builds multinomial logistic regression model and store it in a data frame.

Syntax
build_multinom(<formula>, test_rate = <numeric>, subset = <numeric_vector>, weights = <numeric_vector>, na.action = <na_action_type>, Hess = <logical>, summ = <multinom_summ_type>, censored = <logical>, model = <logical>, contrasts = <list>)

Arguments

Example

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 30 1000
DL -5 0 200
AA 20 20 500
AA -5 3 700
AA 10 8 1000

%>% build_multinom(CARRIER ~ ARR_DELAY + DEP_DELAY, test_rate = 0.1)
Returns a data frame that stores a GLM model based on a formula defined as 'Predict ARR_DELAY based on DEP_DELAY and DISTANCE.'

source_data model .test_index
source dataframe multinom model c(1)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

build_coxph

Summary
Builds Cox Proportional Hazard Model for survival analysis and store it in a data frame.

Syntax
build_coxph(<formula>, test_rate = <numeric>, subset = <numeric_vector>, weights = <numeric_vector>, na.action = <na_action_type>, init = <numeric>, ties = <coxph_tie_type>, singular.ok = <logical>, model = <logical>, x = <logical>, y = <logical>, tt = <function>)

Arguments

Example

Original data:

time status age sex
40 2 55 female
30 2 68 male
35 1 59 male
8 1 80 female

build_coxph(survival::Surv(time, status) ~ age + sex) Builds a Cox Proportional Hazard Model that estimates survival of the subjects based on age and sex. The resulting model is stored in returning data frame. You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction_coxph function to predict with the data that is stored in the same data frame.

prediction

Summary
Returns a data frame with regression information about a model.

Syntax
prediction(data = "training"|"test"|"newdata", data_frame = <data_set>)

Arguments * data (Optional) - The default is "training". Type of data to use in the prediction. * data_frame (Optional) - This works only when data = "newdata". A name of another data frame to apply the model.

Return Value
Data Frame

Example

Original data: model data frame.

prediction(data = "test")
Returns a data frame with predicted values.

prediction_binary

Summary
Returns a data frame with binary classification information about a model.

Syntax
prediction_binary(<predicted_probability_column>, <actual_value_column>, data = "training"|"test"|"newdata", threshold = <binary_metrics>, data_frame = <data_set>)

Arguments

Return Value
Data Frame

Example

Original data: binary classification model data frame.

prediction_binary(data = "test", threshold = 0.2)
Returns a data frame with predicted values of binary classification.

prediction_coxph

Summary
Returns a data frame with predicted values of Cox Proportional Hazard Model.

Syntax
prediction_coxph(data = "training"|"test", type.predict = <coxph_predict_type>, type.residuals = <coxph_residuals_type>)

Arguments * data (Optional) - The default is "training". Type of data to use in the prediction. * type.predict (Optional) - The default is "lp". The type of prediction. This can be * "lp" * "risk" * "expected" * type.residuals (Optional) - The default is "martingale". The type of residuals. This can be * "martingale" * "deviance" * "score" * "schoenfeld" * "scaledsch" * "dfbeta" * "dfbetas"

Return Value
Data Frame

Example

Original data: coxph model data frame.

prediction_coxph(data = "test")
Returns a data frame with predicted values.

model_coef

Summary
Returns a data frame with 'Parameter Estimates (Coefficients)' information about a model including the below.

Syntax
model_coef(conf_int = <conf_int_type>, conf.level = <numeric>)

Arguments

Return Value
Data Frame

Example

Original data: lm model or glm model

model_coef(conf_int = "default", conf.level = 0.90)
Returns a data frame with 'Parameter Estimates' information.

model_stats

Summary
Returns a data frame with 'Summary of Fit' information about a model including the below.

Syntax
model_stats()

Example

Original data: lm model or glm model

model_stats()
Returns a data frame with 'Summary of Fit' information.

Return Value
Data Frame

model_anova

Summary
Returns a data frame with anova test information about a model including the below.

Syntax
model_anova()

Return Value
Data Frame

Example

Original data: lm model or glm model

model_anova()
Returns a data frame with anova test information.

evaluate_regression

Summary
Returns a data frame with evaluation score of regression including the below.

Syntax
evaluate_regression(<predicted_value_column>, <actual_value_column>)

Arguments

Return Value
Data Frame

Example

Original data:

ARR_DELAY predicted_value
10 7
20 30
-5 0
20 20
-5 3
10 8

evaluate_regression(predicted_value, ARR_DELAY)
Returns a data frame with evaluation scores of regression.

evaluate_binary

Summary
Returns a data frame with evaluation score of binary classification including the below.

Syntax
evaluate_binary(<predicted_probability_column>, <actual_value_column>, threshold = <binary_metrics>)

Arguments

Return Value
Data Frame

Example

Original data:

IS_DELAYED predicted_probability
TRUE 0.82
TRUE 0.67
FALSE 0.34
TRUE 0.98
FALSE 0.19
TRUE 0.26

evaluate_binary(predicted_value, ARR_DELAY, threshold = "accuracy")
Returns a data frame with evaluation scores of binary classification.

evaluate_multi

Summary
Returns a data frame with evaluation score of multi classification including the below.

Syntax
evaluate_multi(<predicted_label_column>, <actual_value_column>)

Arguments

Return Value
Data Frame

Example

Original data:

CARRIER predicted_label
AA AA
9E 9E
AS AA
9E 9E
AA AA
AS FL

evaluate_binary(predicted_value, ARR_DELAY, threshold = "accuracy")
Returns a data frame with evaluation scores of multi classification.

micro_f_score macro_f_score accuracy misclassification_rate
0.6666667 0.45 0.6666667 0.3333333

do_roc

Summary
Returns coordinates of roc curve.

Syntax
do_roc(<predicted_probability_column>, <actual_value_column>)

Arguments

Return Value
Data Frame

Example

Original data:

IS_DELAYED predicted_probability
TRUE 0.82
TRUE 0.67
FALSE 0.34
TRUE 0.98
FALSE 0.19
TRUE 0.26

do_roc(predicted_value, ARR_DELAY)
Returns a data frame with true_positive_rate and false_positive_rate.

true_positive_rate false_positive_rate
0.00 0.0
0.25 0.0
0.50 0.0
0.75 0.0
0.75 0.5
1.00 0.5
1.00 1.0

With this data, you can assign "false_positive_rate" to X axis and "true_positive_rate" to Y axis to draw ROC curve.

build_kmeans.cols

Summary
Builds a clustering model (k-means) from variable columns and returns the summary of the model or the augmented data depending on the parameter value.

Syntax
build_kmeans.cols(<column(s)>, centers = <integer>, fill = <numeric>, fun.aggregate = <aggregate_function>, seed = <integer>, iter.max = <integer>, nstart = <integer>, algorithm = <kmeans_algorithms>, trace = <logical>, normalize_data = <logical>, augment = <logical>, keep.source = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

location 1900 1901 1902
Als 35.02899 24.02899 45.02899
Bea 18.00000 10.00000 27.00000
Bor 18.14896 10.64896 20.64896

build_kmeans.cols(-location, centers=2, augment=TRUE)
Builds a K-means clustering model selecting all the columns other than 'location' and setting 2 as the number of the clusters, and scoring the original data right away. If you want to evaluate the model set 'augment' to FALSE.

location X1900 X1901 X1902 .cluster
Als 35.02899 24.02899 45.02899 2
Bea 18.00000 10.00000 27.00000 1
Bor 18.14896 10.64896 20.64896 1

build_kmeans.kv

Summary
Builds a clustering model (k-means) from key-value columns and store the model into a generated data frame or augment the original data with the clustered ID.

Syntax
build_kmeans.kv(<subject_column>, <key_column>, <value_column>, centers = <integer>, seed = <integer>, iter.max = <integer>, nstart = <integer>, algorithm = <kmeans_algorithms>, trace = <logical>, normalize_data = <logical>, augment = <logical>, keep.source = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bea 1900 18.00000
Bea 1901 10.00000
Bea 1902 27.00000
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

build_kmeans.kv(location, year, harvest_date, centers=2, augment=TRUE)

Builds a K-means clustering model selecting 'location' as the subject to cluster, 'year' as the dimension, and 'harvest_date' as the value, and setting 2 as the number of the clusters, and scoring the original data right away. If you want to evaluate the model set 'augment' to FALSE.

location year harvest_date .cluster
Als 1900 35.02899 2
Als 1901 24.02899 2
Als 1902 45.02899 2
Bea 1900 18.00000 1
Bea 1901 10.00000 1
Bea 1902 27.00000 1
Bor 1900 18.14896 1
Bor 1901 10.64896 1
Bor 1902 20.64896 1

build_kmeans

Summary
Builds a clustering model (k-means). Stores the model into a generated data frame or the augmented data depending on the parameter value.

Syntax
build_kmeans(<column(s)>, skv = <character_vector>, fill = <numeric>, fun.aggregate = <aggregate_function>, centers = <integer>, iter.max = <integer>, nstart = <integer>, algorithm = <kmeans_algorithms>, trace = <logical>, normalize_data = <logical>, seed = <integer>, augment = <logical>, keep.source = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

location 1900 1901 1902
Als 35.02899 24.02899 45.02899
Bea 18.00000 10.00000 27.00000
Bor 18.14896 10.64896 20.64896

build_kmeans(-location, centers=2, augment=TRUE)
Builds a K-means clustering model selecting all the columns other than 'location' and setting 2 as the number of the clusters, and scoring the original data right away. If you want to evaluate the model set 'augment' to FALSE.

location X1900 X1901 X1902 .cluster
Als 35.02899 24.02899 45.02899 2
Bea 18.00000 10.00000 27.00000 1
Bor 18.14896 10.64896 20.64896 1

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bea 1900 18.00000
Bea 1901 10.00000
Bea 1902 27.00000
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

build_kmeans(skv = c("location", "year", "harvest_date"), centers = 2, augment = TRUE)

Builds a K-means clustering model selecting 'location' as the subject to cluster, 'year' as the dimension, and 'harvest_date' as the value, and setting 2 as the number of the clusters, and scoring the original data right away. If you want to evaluate the model set 'augment' to FALSE.

location year harvest_date .cluster
Als 1900 35.02899 2
Als 1901 24.02899 2
Als 1902 45.02899 2
Bea 1900 18.00000 1
Bea 1901 10.00000 1
Bea 1902 27.00000 1
Bor 1900 18.14896 1
Bor 1901 10.64896 1
Bor 1902 20.64896 1

do_t.test

Summary
Execute t-test, which checks differences of means of variables.

Syntax
do_t.test(<value_column>, <group_column>, alternative = <alternative_type>, mu = <integer>, paired = <logical>, var.equal = <logical>, conf.level = <numeric>, subset = <column_logical>, na.action = <na_action_type>)

Arguments

Return Value
Data frame

Example

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

do_t.test(harvest_date, location)
Returns a data frame with one row that has t-test result.

do_var.test

Summary
Execute F-test, which checks the differences of variances between groups.

Syntax
do_var.test(<value_column>, <group_column>, ratio = <numeric>, alternative = <alternative_type>, conf.level = <numeric>, na.action = <na_action_type>)

Arguments

Return Value
Data frame

Example

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

do_var.test(harvest_date, location)
Returns a data frame with one row that has t-test result.

do_chisq.test

Summary
Execute chi-squared contingency table tests and goodness-of-fit tests.

Syntax
do_chisq.test(<column(s)>, correct = <logical>, p = <column_num>, rescale.p = <logical>, simulate.p.value = <logical>, B = <numeric>)

Arguments

Return Value
Data frame

Example

Original data:

clarity GIA HRD IGI
IF 6 4 34
VS1 61 13 7
VS2 36 15 2
VVS1 15 23 14
VVS2 33 24 21

do_chisq.test(-clarity)
Returns a data frame with one row that has chi-squared test result.

statistic p.value parameter method
112.7472 0 8 Pearson's Chi-squared test

do_apriori

Summary
Find rules of what tend to occur at the same time from transaction data.

Syntax
do_apriori(<subject_column>, <key_column>, minlen = <integer>, maxlen = <integer>, min_support = <numeric>, max_support = <numeric>, min_confidence = <numeric>, lhs = <character_vector>, rhs = <character_vector>, max_basket_items = <numeric>)

Arguments

Return Value
Data frame

Example

Original data:

item_name transaction_id
banana 1
apple 1
carrot 2
apple 2
orange 3
carrot 3
apple 4
carrot 4

do_apriori(item_name, transaction_id)
Returns association rules about item names.

lhs rhs support confidence lift
apple 0.75 0.7500000 1.0000000
carrot 0.75 0.7500000 1.0000000
banana apple 0.25 1.0000000 1.3333333
orange carrot 0.25 1.0000000 1.3333333
apple carrot 0.50 0.6666667 0.8888889
carrot apple 0.50 0.6666667 0.8888889

do_apriori(item_name, transaction_id, minlen=2)
Returns association rules where the total number of item names in lhs and rhs are more than 2.

lhs rhs support confidence lift
banana apple 0.25 1.0000000 1.3333333
orange carrot 0.25 1.0000000 1.3333333
apple carrot 0.50 0.6666667 0.8888889
carrot apple 0.50 0.6666667 0.8888889

do_apriori(item_name, transaction_id, lhs=c( "apple", "orange"))
Returns association rules where apple or orange come to lhs.

lhs rhs support confidence lift
orange carrot 0.25 1.0000000 1.3333333
apple carrot 0.50 0.6666667 0.8888889

do_anomaly_detection

Summary
Detect anomaly in time series data frame.

Syntax
do_anomaly_detection(<column_date>, <column_num>, direction = <anomaly_direction_type>, e_value = <logical>, max_anoms = <numeric>, alpha = <numeric>, only_last = <anomaly_last_type>, threshold = <anomaly_threshold_type>, longterm = <logical>, piecewise_median_period_weeks = <integer>)

Arguments

Return Value
Data frame

Example

Original data:

dateHour newUsers
... ...
2017-01-20 09:00:00 4
2017-01-20 10:00:00 2
2017-01-20 11:00:00 5
2017-01-20 12:00:00 31
2017-01-20 13:00:00 3
2017-01-20 14:00:00 3
... ...

do_anomaly_detection(dateHour, newUsers, direction = "both", e_value = TRUE)
Returns data frame with columns about anomaly data.

dateHour newUsers pos_anomaly pos_value neg_anomaly neg_value expected_value
... ... ... ... ... ... ...
2017-01-20 09:00:00 4 FALSE NA FALSE NA 4
2017-01-20 10:00:00 2 FALSE NA FALSE NA 2
2017-01-20 11:00:00 5 FALSE NA FALSE NA 5
2017-01-20 12:00:00 31 TRUE 31 FALSE NA 5
2017-01-20 13:00:00 3 FALSE NA FALSE NA 3
2017-01-20 14:00:00 3 FALSE NA FALSE NA 3
... ... ... ... ... ... ...

do_prophet

Summary
Add forecast data to time series data frame.

Syntax
do_prophet(<column_date>, <column_num>, <numeric>, time_unit = <prophet_time_unit>, include_history = <logical>, fun.aggregate = <aggregate_function>, growth = "linear"|"logistics", seasonality.prior.scale = <numeric>, yearly.seasonality = <logical>, weekly.seasonality = <logical>, n.changepoints = <numeric>, changepoint.prior.scale = <numeric>, changepoints = <list>, holidays.prior.scale = <numeric>, holidays = <data_set>, mcmc.samples = , interval.width = , uncertainty.samples = )

Arguments

Return Value
Data frame

Example

Original data:

date pageviews
... ...
2017-03-19 2383
2017-03-20 4441
2017-03-21 3147
2017-03-22 456
... ...

do_prophet(date, pageviews, 2, time_unit = "day")
Returns data frame with forecasted rows and columns about trend and seasonality.

date pageviews forecasted_value forcasted_value_high forcasted_value_low trend trend_high trend_low seasonal seasonal_low seasonal_high yearly yearly_low yearly_high weekly weekly_low weekly_high
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2017-03-19 2383 3200.6539 4150.7993 2199.57 1131.882 1131.882 1131.882 2068.7719 2068.7719 2068.7719 1014.3165 1014.3165 1014.3165 -177.1076 -177.1076 -177.1076
2017-03-20 4441 3401.953 4330.5388 2401.9095 1089.3266 1089.3266 1089.3266 2312.6264 2312.6264 2312.6264 1258.171 1258.171 1258.171 -174.3324 -174.3324 -174.3324
2017-03-21 3147 2723.3344 3655.037 1841.2349 1046.7712 1046.7712 1046.7712 1676.5631 1676.5631 1676.5631 622.1077 622.1077 622.1077 15.2078 15.2078 15.2078
2017-03-22 456 1209.1918 2152.4326 298.3122 1004.2159 1004.2159 1004.2159 204.976 204.976 204.976 -849.4794 -849.4794 -849.4794 143.4983 143.4983 143.4983
2017-03-23 NA 654.9152 1581.3289 -276.3799 876.5498 876.5498 876.5497 -221.6346 -221.6346 -221.6346 -1276.09 -1276.09 -1276.09 107.7315 107.7315 107.7315
2017-03-24 NA 2090.3595 3049.9388 1133.799 833.9944 833.9944 833.9944 1256.3651 1256.3651 1256.3651 201.9097 201.9097 201.9097 77.2003 77.2003 77.2003
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

do_market_impact

Summary
Estimate impact of an event (advertisement, etc.) on a market, by using other markets to form a synthetic control.

Syntax
do_market_impact(<column_date>, <column_num>, <column_text>, target_market = <text>, time_unit = <market_impact_time_unit>, fun.aggregate = <aggregate_function>, event_time = <text>, output_type = "series"|"model_stats"|"model_coef"|"predictor_market_candidates", na_fill_type = "spline"|"interpolate"|"previous"|"value", na_fill_value = <numeric>, distance_weight = <numeric>, alpha = <numeric>, niter = <numeric>, standardize.data = <logical>, prior.level.sd = <numeric>, nseasons = <numeric>, season.duration = <numeric>, dynamic.regression = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

date pageviews country
... ... ...
2017-03-19 2383 Japan
2017-03-19 3625 UK
2017-03-19 3825 US
2017-03-20 4441 Japan
2017-03-20 4721 UK
2017-03-20 8367 US
2017-03-21 383 Japan
2017-03-21 2693 UK
2017-03-21 3147 US
... ... ...

do_market_impact(date, pageviews, country, target_market = "Japan", event_time = "2017-03-20")
Returns data frame with pageviews of target market, synthetic control calculated from pageviews of other markets, and estimated impact of the event which happened only to the target market.

Output data frame columns:

row_as_header

Summary
Use a row as column names.

Syntax
row_as_header(row_index = <integer>, prefix = <character>, clean_names = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

V1 V2
NA NA
item.name transaction.id
banana 1
apple 1
carrot 2
apple 2
orange 3
carrot 3
apple 4
carrot 4

row_as_header(row_index = 2, prefix = "c_", clean_names = TRUE)
Returns data frame using the 2nd row as column names with prefix and dot is replaced by underscore.

c_item_name c_transaction_id
NA NA
banana 1
apple 1
carrot 2
apple 2
orange 3
carrot 3
apple 4
carrot 4

pivot

Summary
Pivot columns into rows and columns. Values are count of pairs of rows and columns or aggregation of another column.

Syntax
pivot(<formula>, value = <column>, fill = <numeric>, fun.aggregate = <character>, na.rm = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

clarity certification colour price
VVS2 HRD F 10796
VS1 GIA F 1551
VS1 GIA F 4291
VVS2 GIA F 5881
VS2 GIA H 4585
VVS2 GIA H 5193

pivot(clarity+colour~certification, value = price, fill=0, fun.aggregate = sum)
Returns data frame with rows of combinations of clarity and colour and with columns of certification. Values are sum of price and missing values are filled by 0.

clarity_colour GIA HRD
VS1_F 5842 0
VS2_H 4585 0
VVS2_F 5881 10796
VVS2_H 5193 0

Original data:

FL_DATE ARR_DELAY CARRIER
2018-10-01 10 AA
2018-10-02 20 UA
2018-10-03 30 AA
2018-10-04 40 UA
2018-11-01 20 UA
2018-11-02 10 AA
2018-11-03 20 UA
2018-11-04 30 AA

pivot(floor_date(FL_DATE, unit="month") ~ CARRIER, value = ARR_DELAY, fun.aggregate = mean)
Returns data frame with rows of FL_DATE (floored to month) and ARR_DELAY with columns of each CARRIER. Values are mean of ARR_DELAY.

FL_DATE AA UA
2018-10-01 20 30
2018-11-01 20 20

do_cor.cols

Summary
Calculates correlations for all the pairs of the variables (columns).

Syntax
do_cor.cols(<column(s)>, use = <cor_na_operation>, method = <cor_method>, distinct = <logical>, diag = <logical>)

Arguments

Return Value
Data frame

Example

Original data:

year Als Bea Bor
1900 35.02899 18 18.14896
1901 24.02899 10 10.64896
1902 45.02899 27 20.64896

do_cor.cols(-year)

pair.name.1 pair.name.2 value
Als Bea 0.9981135
Als Bor 0.9680283
Bea Als 0.9981135
Bea Bor 0.9508014
Bor Als 0.9680283
Bor Bea 0.9508014

do_cor.kv

Summary
Calculates correlations for all the pairs of subject columns.

Syntax
do_cor.kv(<subject_column>, <key_column>, <value_column>, use = <cor_na_operation>, method = <cor_method>, distinct = <logical>, diag = <logical>, fill = <numeric>, fun.aggregate = <aggregate_function>)

Arguments

Return Value
Data frame

Example

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bea 1900 18.00000
Bea 1901 10.00000
Bea 1902 27.00000
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

do_cor.kv(location, year, harvest_date)

location.x location.y value
Als Bea 0.9981135
Als Bor 0.9680283
Bea Als 0.9981135
Bea Bor 0.9508014
Bor Als 0.9680283
Bor Bea 0.9508014

do_cor

Summary
Calculates correlations for all the pairs of the variables or subjects.

Syntax
do_cor(<column(s)>, skv = <character_vector>, use = <cor_na_operation>, method = <cor_method>, distinct = <logical>, diag = <logical>, fill = <numeric>, fun.aggregate = <aggregate_function>)

Arguments

Return Value
Data frame

Example

Original data:

year Als Bea Bor
1900 35.02899 18 18.14896
1901 24.02899 10 10.64896
1902 45.02899 27 20.64896

do_cor(-year)

pair.name.1 pair.name.2 value
Als Bea 0.9981135
Als Bor 0.9680283
Bea Als 0.9981135
Bea Bor 0.9508014
Bor Als 0.9680283
Bor Bea 0.9508014

Original data:

location year harvest_date
Als 1900 35.02899
Als 1901 24.02899
Als 1902 45.02899
Bea 1900 18.00000
Bea 1901 10.00000
Bea 1902 27.00000
Bor 1900 18.14896
Bor 1901 10.64896
Bor 1902 20.64896

do_cor( skv = c("location", "year", "harvest_date"))

location.x location.y value
Als Bea 0.9981135
Als Bor 0.9680283
Bea Als 0.9981135
Bea Bor 0.9508014
Bor Als 0.9680283
Bor Bea 0.9508014

do_dist.kv

Summary
Calculate the distances between each of the pairs.

Syntax
do_dist.kv(<subject_column>, <key_column>, <value_column>, distinct = <logical>, diag = <logical>, method = <dist_method>, fill = <numeric>, fun.aggregate = <aggregate_function>, p = <numeric> )

Arguments

Return Value
Data frame

Example

Original data:

date name product num
2015-06-12 Lisa orange 5
2015-06-12 Emily apple 3
2015-06-12 John carrot 3
2015-06-13 Emily apple 4
2015-06-13 John apple 6
2015-06-16 Lisa orange 2
2015-06-16 John carrot 4
2015-06-16 Emily orange 7

do_dist.kv(name, product, num)

This considers matrix like this. Duplicated entries is aggregated to mean as default and you can change it by fun.aggregate argument.

Emily John Lisa
apple 3.5 6.0 0.0
carrot 0.0 3.5 0.0
orange 7.0 0.0 3.5

Then calculate euclidean distances between pairs of each column.

name.x name.y value
Emily John 8.215838
Emily Lisa 4.949747
John Emily 8.215838
John Lisa 7.778175
Lisa Emily 4.949747
Lisa John 7.778175

do_dist.kv(name, product, num, fun.aggregate=sum, method="manhattan")

This considers matrix like this. Duplicated entries is aggregated to sum.

Emily John Lisa
apple 7 6 0
carrot 0 7 0
orange 7 0 7

Then calculate manhattan distances between pairs of each column.

name.x name.y value
Emily John 15
Emily Lisa 7
John Emily 15
John Lisa 20
Lisa Emily 7
Lisa John 20

do_dist.cols

Summary
Calculate distances of each of the pairs.

Syntax
do_dist.cols(<column(s)>, distinct = <logical>, diag = <logical>, method = <dist_method>, p = <numeric> )

Arguments

Return Value
Data frame

Example

Original data:

year Als Bea Bor
1900 35.02899 18 18.14896
1901 24.02899 10 10.64896
1902 45.02899 27 20.64896

do_dist.cols(-year)

pair.name.1 pair.name.2 value
Als Bea 28.492868
Als Bor 32.532238
Bea Als 28.492868
Bea Bor 6.385847
Bor Als 32.532238
Bor Bea 6.385847

do_dist

Summary
Calculate distances of each of the pairs of the variables or subjects.

Syntax
do_dist(<column(s)>, skv = <character_vector>, distinct = <logical>, diag = <logical>, method = <dist_method>, p = <numeric>, fill = <numeric>, fun.aggregate = <aggregate_function>)

Arguments

Return Value
Data frame

Example

Original data:

year Als Bea Bor
1900 35.02899 18 18.14896
1901 24.02899 10 10.64896
1902 45.02899 27 20.64896

do_dist(-year)

pair.name.1 pair.name.2 value
Als Bea 28.492868
Als Bor 32.532238
Bea Als 28.492868
Bea Bor 6.385847
Bor Als 32.532238
Bor Bea 6.385847

Original data:

date name product num
2015-06-12 Lisa orange 5
2015-06-12 Emily apple 3
2015-06-12 John carrot 3
2015-06-13 Emily apple 4
2015-06-13 John apple 6
2015-06-16 Lisa orange 2
2015-06-16 John carrot 4
2015-06-16 Emily orange 7

do_dist(skv = c("name", "product", "num"))

This considers matrix like this. Duplicated entries is aggregated to mean as default and you can change it by fun.aggregate argument.

Emily John Lisa
apple 3.5 6.0 0.0
carrot 0.0 3.5 0.0
orange 7.0 0.0 3.5

Then calculate euclidean distances between pairs of each column.

name.x name.y value
Emily John 8.215838
Emily Lisa 4.949747
John Emily 8.215838
John Lisa 7.778175
Lisa Emily 4.949747
Lisa John 7.778175

do_dist(skv = c("location", "year", "harvest_date"), fun.aggregate=sum, method="manhattan")

This considers matrix like this. Duplicated entries is aggregated to sum.

Emily John Lisa
apple 7 6 0
carrot 0 7 0
orange 7 0 7

Then calculate manhattan distances between pairs of each column.

name.x name.y value
Emily John 15
Emily Lisa 7
John Emily 15
John Lisa 20
Lisa Emily 7
Lisa John 20

str_clean

概要
エスケープ文字(例: \n, \t)、余分な空白、余分なピリオド、先頭と末尾のスペースを削除して、テキストをきれいにします。

シンタックス
str_clean(<文字列>)

引数

返り値
Character

str_clean(" Exploratory ..io ")
"Exploratory.io"を返します。

str_count_all

概要
文字列のパターンを数えます。

シンタックス
str_count_all(<テキストの列>, patterns = <文字列>, remove.zero = <TRUE|FALSE>)

引数

返り値
List of data frame

str_count_all("I ate banana, apple, and peach yesterday, and banana, peach today.", patterns=c("apple", "banana"), remove.zero=TRUE)
'apple'と'banana'の列を持つデータフレームの列のリストを返します。

str_normalize

概要
全角のアルファベット、数字、特殊文字を通常のアルファベット、数字、特殊文字に置き換えます。また半角カナ文字を全角カナ文字に置き換え、その他の正規化規則を適用してテキストを正規化します。これはUnicode 正規化形の規則に従います。なお、この関数はstringi::stri_trans_nfkc 関数のラッパー関数です。

シンタックス
str_normalize(<テキストの列>)

引数

返り値
Character

str_normalize("ABC123+ー=") "ABC123+-="を返します。

str_extract_inside

概要
指定した記号内のテキストを抽出する。

シンタックス
str_extract_inside(<テキストの列>, begin = <文字列>, end = <文字列>)

引数

返り値
Character

str_extract_inside(company, begin = "(", end = ")")

str_extract_inside(company, begin = "{", end = "}")

str_extract_inside(company, begin = "[", end = "]")

str_extract_inside(company, begin = "'", end = "'")

str_extract_inside(company, begin = '"', end = '"')

str_logical

概要
カテゴリまたは数値型の列をロジカル型の列に変換します。引数の"true_value"がない場合、"yes", "true", "1"をTRUEとして扱い、"no", "false", "0"をFALSEとして扱います。

シンタックス
str_logical(<文字列>, true_value = <文字列>)

引数

返り値
Logical

Original data:

「ステータス」列はカテゴリー型の列です。

ステータス
yes
no
No
NO
YES
Yes

mutate(新しいステータス = str_logical(ステータス))

結果:

ロジカル型の「新しいステータス」の列が追加されます。

ステータス 新しいステータス
yes TRUE
no FALSE
No FALSE
NO FALSE
YES TRUE
Yes TRUE

Original data:

「ステータス」列はカテゴリー型の列です。

ステータス
TRUE
FalSE
True
False
NA
tRUE
FALSE

mutate(新しいステータス = str_logical(ステータス))

結果:

ロジカル型の「新しいステータス」の列が追加されます。

ステータス 新しいステータス
TRUE TRUE
FalSE FALSE
True TRUE
False FALSE
NA NA
tRUE TRUE
FALSE FALSE

Original data:

「ステータス」列は数値型の列です。

ステータス
1
0
1
0
NA
1
0

mutate(新しいステータス = str_logical(ステータス))

結果:

ロジカル型の「新しいステータス」列が追加されます。

ステータス 新しいステータス
1 TRUE
0 FALSE
1 TRUE
0 FALSE
NA NA
1 TRUE
0 FALSE

Original data:

「ステータス」列は文字列型の列です。

ステータス
Sign Up
Not Yet
Sign Up
Not Yet
NA
sign Up
Not yet

mutate(新しいステータス = str_logical(ステータス, "Sign Up")

結果:

ロジカル型の「新しいステータス」列が追加されます。

ステータス 新しいステータス
Sign Up TRUE
Not Yet FALSE
Sign Up TRUE
Not Yet FALSE
NA NA
sign Up TRUE
Not yet FALSE

get_stopwords

概要
"a"、"the"、"and"などのストップワードを返します。

シンタックス
get_stopwords(lang = <言語>, include = <文字列のリスト>, exclude = <文字列のリスト>)

引数

返り値
Character

get_stopwords()
"a", "the", "and"といった値のリストを返します。

word_to_sentiment

概要
単語に対して、肯定的または否定的なセンチメントの種類を返します。

シンタックス
word_to_sentiment(<テキストの列>, lexicon = <感情辞書のタイプ>)

引数

返り値
引数lexiconに"bing" (デフォルト)を指定した場合はCharacter. 引数lexiconに"AFINN" を指定した場合はNumeric. 引数lexiconに"nrc" を指定した場合はList.

word_to_sentiment("good")
"positive"を返します。

word_to_sentiment("bad", lexicon="AFINN")
-3を返します。

word_to_sentiment("cry", lexicon="nrc")
c("negative" "sadness")を返します。

get_sentiment

概要
文章からセンチメントスコアを返します。正のスコアは肯定的な文章を表し、負のスコアはその反対を表します。0は「中立」を意味します。

シンタックス
get_sentiment(<テキストの列>)

引数

返り値
Numeric

get_sentiment("I'm happy")
0.7071068を返します。

get_sentiment("I'm sick.")
-0.7071068を返します。

get_sentiment("I'm not so good.")
-0.5000000を返します。

stem_word

概要
綴りが若干異なる単語を同じ単語として認識できるように整えます。

シンタックス
stem_word(<テキストの列>, language = <言語>)

引数

返り値
Character

stem_word(c("stand","stands", "cheerful", "cheering"))
c("stand","stand","cheer","cheer")を返します。

is_stopword

概要
文字列に辞書で定義されたストップワードのリストに含まれる単語がある場合、TRUEを返します。

シンタックス
is_stopword(<テキストの列>, lang = <言語>, include = <文字列のリスト>, exclude = <文字列のリスト>)

引数

返り値
Logical

is_stopword(c("a", "and", "stopword", "the"))
Return c(TRUE, TRUE, FALSE, TRUE).

is_empty

概要
文字列が空文字または NAのときにTRUEを返します。

シンタックス
is_empty(<テキストの列>)

引数

返り値
Logical

is_empty(c("", " ", NA, "The", "\n"))
c(TRUE, TRUE, TRUE, FALSE, TRUE)を返します。

is_alphabet

概要
文字列がアルファベットのみを含む場合に TRUE を返します。

シンタックス
is_alphabet(<テキストの列>)

引数

返り値
Data frame

is_alphabet(c("1", "132", "32MB", "hello", "Hello World"))
c(FALSE, FALSE, FALSE, TRUE, FALSE)を返します。 この関数はトークンに使用されることを想定しており、文章に使用された場合は FALSE を返します。

ip_to_country

概要
IPアドレスから国名を返します。

シンタックス
ip_to_country(<テキストの列>)

引数

返り値
Character

ip_to_country("133.43.96.45")
"Japan"を返します

url_domain

概要
url からドメイン (例: "exploratory.io")を返します。

シンタックス
url_domain(<テキストの列>)

引数

返り値
Character

url_domain("https://exploratory.io/login/")
"exploratory.io"を返します。

url_fragment

概要
url からフラグメントを返します。

シンタックス
url_fragment(<テキストの列>)

引数

返り値
Character

url_fragment("https://exploratory.io/?debug=true#test")
"test"を返します。

url_path

概要
urlからパスを返します。

シンタックス
url_path(<テキストの列>)

引数

返り値
Character

url_path("https://exploratory.io/reference/")
"reference/"を返します。

url_port

概要
url からポートを返します。

シンタックス
url_port(<テキストの列>)

引数

返り値
Character

url_port("https://exploratory.io:443")
"443"を返します。

url_scheme

概要
urlからスキーム(例:"http"、"https")を返します。

シンタックス
url_scheme(<テキストの列>)

引数

返り値
Character

url_scheme("https://exploratory.io")
"https"を返します。

url_suffix

概要
urlから接尾辞(例:"com"、"org")を返します。

シンタックス
url_suffix(<テキストの列>)

引数

返り値
Character

url_suffix("https://exploratory.io")
"io"を返します。

url_suffix("http://sample.edu.co")
"edu.co"を返します。

url_subdomain

概要
urlからサブドメイン (例 "www", "blog") を返します。

シンタックス
url_subdomain(<テキストの列>)

引数

返り値
Character

url_subdomain("https://blog.exploratory.io")
"blog"を返します。

url_tld

概要
url からトップレベルドメイン (例 "com"、"co") を返します。

シンタックス
url_tld(<テキストの列>)

引数

返り値
Character

url_tld("http://sample.edu.co")
"co"を返します。

url_param

概要

url からデコードされたクエリパラメーターを返します。

シンタックス
url_param(<テキストの列>, parameter_name = <文字列>)

引数

返り値
Character

url_param("http://example.com/?user=ferret", "user")
"ferret"を返します。

countrycode

概要
国名や国名コードを他のコードや名前(国名、大陸名など)に変換します。

シンタックス
countrycode(<列名>, origin = <変換前の国コード>, destination = <変換後の国コード>)

引数

変換前や変更後の国コードで選択可能な引数の値:

返り値
Country name, id, etc.

countrycode("U.S.", "country.name", "iso2c")
USを返します。

countrycode("United States", "country.name", "iso2c")
USを返します。

countrycode("US", "iso2c", "country.name")
USAを返します。

countrycode("USA", "cowc", "country.name")
United Statesを返します。

countrycode(2, "cown", "country.name")
United Statesを返します。

statecode

概要

米国の州の情報を持つ列から、米国の州名、略称、数値コード、区分、地域のいずれかを返します。州の情報は、米国の州名、略語 (FIPS / ANSI コード)、数値コード (FIPS) のいずれかであり、任意の組み合わせが可能です。

シンタックス
statecode(<州の列>, output_type = <出力のタイプ>)

引数

出力のタイプ:

返り値
State name, State code, etc.

statecode("CA", "name")
Californiaを返します。

statecode("CA", "num_code")
06を返します。

statecode("California", "num_code")
06を返します。

statecode("CA", "region")
Westを返します。

countycode

概要
米国の州および郡名にをもとに米国の郡コード(FIPS - 連邦情報処理標準)を生成します。

シンタックス
countycode(state = <州名の列>, county = <郡名の列>)

引数

返り値
County code

countycode("California", "San Mateo")
06081を返します。

countycode("CA", "San Mateo")
06081を返します。

countycode("CA", "San Mateo County")
06081を返します。

do_tokenize

Summary
Returns one token (e.g. word) per row after tokenizing a text.

Syntax
do_tokenize(<column_text>, token = <token_type>, keep_cols = <logical>, to_lower = <logical>, drop = <logical>, output = <new_column_name>, with_id = <logical>, pattern = <pattern>)

Arguments

Return Value
Data frame

Example

Original data:

index text
First It was a great party.
Second She has just left. She will be off tomorrow.

do_tokenize(text)

index document_id sentence_id token
First 1 1 it
First 1 1 was
First 1 1 a
First 1 1 great
First 1 1 party
Second 2 1 she
Second 2 1 has
Second 2 1 just
Second 2 1 left
Second 2 2 she
Second 2 2 will
Second 2 2 be
Second 2 2 off
Second 2 2 tomorrow

do_tokenize(text, token="sentences")

index token
First it was a great party.
Second she has just left.
Second she will be off tomorrow.

pair_count

Summary
Count pairs of words (tokens) that cooccur within a group

Syntax
pair_count(group = <column>, value = <column>, distinct = <logical>, diag = <logical>, sort = <logical>)

Arguments

Return Value
Data frame

Example

pair_count(group=title, value=word, distinct=FALSE, diag = FALSE, sort=TRUE)
Return a data frame with word.x and word.y which is from "word" column and value that has count.

do_tfidf

Summary
Calculates TF-IDF for each term against a group. TF-IDF is a weighting mechanism that calculates the importance of each word to each document by increasing the importance based on the term frequency while decreasing the importance based on the document frequency.

Syntax
do_tfidf(<document_column>, <token_column>, tf_weight = <tf_weight_type>, idf_log_scale = <function>, norm = "l2"|"l1"|FALSE)

Arguments

Return Value
Data frame

Example

Original data:

document_id token
1 this
1 is
1 what
1 it
1 is
2 which
2 is
2 better

do_tfidf(document_id, token)

document_id token count_per_doc count_of_docs tfidf
1 is 2 2 0.0000000
1 it 1 1 0.5773503
1 this 1 1 0.5773503
1 what 1 1 0.5773503
2 better 1 1 0.7071068
2 is 1 2 0.0000000
2 which 1 1 0.7071068

do_ngram

Summary
Create columns of n-grams connected in sentences.

Syntax
do_ngram(<token_column>, <document_column>, <sentence_column>, maxn = <numeric>, sep = <text>)

Arguments

Return Value
Data frame

Example

Original data:

document_id sentence_id token
1 1 it
1 1 is
1 1 good
2 1 she
2 1 left
2 2 she
2 2 will
2 2 come
2 2 tomorrow

do_ngram(token, document_id, sentence_id, maxn=3)

document_id sentence_id gram token
1 1 1 it
1 1 1 is
1 1 1 good
1 1 2 it_is
1 1 2 is_good
1 1 3 it_is_good
2 1 1 she
2 1 1 left
2 1 2 she_left
2 2 1 she
2 2 1 will
2 2 1 come
2 2 1 tomorrow
2 2 2 she_will
2 2 2 will_come
2 2 2 come_tomorrow
2 2 3 she_will_come
2 2 3 will_come_tomorrow

do_cosine_sim.kv

Summary
Calculates the similarity between each pair of the documents using the cosine similarity algorithm. Cosine similarity measures the cosine of the angle between two vectors in the multi-dimensional space.

Syntax
do_cosine_sim.kv(<subject_column>, <key_column>, <value_column>, distinct = <logical>, diag = <logical>, fun.aggregate = <aggregate_function>)

Arguments

Return Value
Data frame

Example

Original data:

document_id token value
Lisa it 0.8966972
Lisa was 0.2655087
Lisa good 0.3721239
Emily she 0.5728534
Emily is 0.9082078
Emily nice 0.2016819
John she 0.8983897
John is 0.9446753
John good 0.6607978

do_cosine_sim.kv(document_id, token, value)

document_id.x document_id.y value
Lisa Emily 0.0000000
Lisa John 0.1671574
Emily Lisa 0.0000000
Emily John 0.8595770
John Lisa 0.1671574
John Emily 0.8595770

do_cmdscale

Summary
Execute multidimensional scaling (MDS). Calculate approximated coordinations from distances of entity pairs.

Syntax
do_cmdscale(<name1_column>, <name2_column>, <value_column>, k = <integer>)

Arguments

Return Value
Data frame

Example

Original data:

name.x name.y value
cow horse 36
cow turtle 82
horse turtle 48

do_cmdscale(pair.name.1, pair.name.2, value)

name V1 V2
cow -38.915551 -3.435417
horse -4.163866 5.962475
turtle 43.079417 -2.527058

impute_na

概要

impute_naでは、平均値や中央値、手動で指定した値、または線形回帰モデルによる予測値によって欠損値を埋めることができます。

シンタックス

impute_na(<欠損値を埋めたい列>, type = <欠損値を埋めるタイプ>, val = <値または列>, <予測変数の列>)

引数

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 NA 1000
UA -5 0 200
AA 20 20 500
AA -5 NA 700
AA 10 8 1000

mutate(DEP_DELAY = impute_na(DEP_DELAY, type = "predict", CARRIER, ARR_DELAY, DISTANCE)) NA in DEP_DELAY is filled by predicted values from CARRIER, ARR_DELAY and DISTANCE columns using linear regression

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 3.47 1000
UA -5 0 200
AA 20 20 500
AA -5 3.59 700
AA 10 8 1000

mutate(DEP_DELAY = impute_na(DEP_DELAY, type = "value", val = 10))
欠損値を10で補完します。

CARRIER ARR_DELAY DEP_DELAY DISTANCE
UA 10 7 300
UA 20 10 1000
UA -5 0 200
AA 20 20 500
AA -5 10 700
AA 10 8 1000

detect_outlier

概要

外れ値を検出し、'upper'(上位)ラベルと'lower'(下位)ラベルを返します。

シンタックス

detect_outlier(<数値列>, type = <外れ値の検出方法>, threshold = <数値>)

引数

元のデータ:

航空会社 到着遅れ 出発遅れ 距離
UA 10 7 800
UA 20 NA 5000
UA -5 0 600
AA 20 20 500
AA -5 NA 700
AA 10 8 10

mutate(外れ値 = detect_outlier(距離, type = "iqr"))
データの外れ値を検出して"upper"、"normal"、"lower"のラベルを付けます。

航空会社 到着遅れ 出発遅れ 距離 外れ値
UA 10 7 800 normal
UA 20 NA 5000 upper
UA -5 0 600 normal
AA 20 20 500 normal
AA -5 NA 700 normal
AA 10 8 10 lower

build_model

Summary

Create data frame with models from input data frame by model function and arguments.

Syntax

build_model(model_func = <model_function>, seed = <integer>, test_rate = <numeric>, <model_parameters>)

Arguments

Example

Original data:

CARRIER ARR_DELAY DEP_DELAY DISTANCE WEIGHTS
UA 10 7 300 0.8
UA 20 30 1000 0.5
UA -5 0 200 1.2
AA 20 20 500 0.8
AA -5 3 700 0.9
AA 10 8 1000 0.5

%>% build_model(model_func = lme4::lmer, formula = ARR_DELAY ~ DEP_DELAY + (DISTANCE|CARRIER), test_rate = 0.1, weights = WEIGHTS)
Returns a data frame that stores a linear mixed-effects model. It also returns a column of original data.

source_data model .test_index
source dataframe lme4 model c(1)

You can use model_coef or model_stats function to get the summary information about the models. Also, you can use prediction function to predict with the data that is stored in the same data frame.

one_hot

Summary

One-hot encodes a categorical column, producing separate columns for each categorical values, each of which has values of 1 or 0 that tells whether a row has the value the column represents.

Syntax

one_hot(<column>)

Example

Original data:

ARR_DELAY CARRIER
10 UA
20 UA
-5 UA
20 AA
-5 AA
10 AA

one_hot(CARRIER)

ARR_DELAY CARRIER_UA CARRIER_AA
10 1 0
20 1 0
-5 1 0
20 0 1
-5 0 1
10 0 1

get_mode

概要

最も頻度の多い値を返します。

シンタックス

get_mode(<列名>, na.rm = <TRUE|FALSE>)

引数

元のデータ:

到着遅れ 航空会社
10 UA
20 UA
-5 UA
20 AA

summarize(到着遅れの最頻値 = get_mode(到着遅れ), 航空会社の最頻値 = get_mode(航空会社))

到着遅れの最頻値 航空会社の最頻値
20 UA

summarize_group

概要

指定した集計関数を利用して列の値を集計します。 グループ化をしている場合、各グループの値を集計します。

シンタックス

summarize_group(group_cols=<列のリスト>, group_funs = <関数>, ...)

引数

元のデータ:

到着遅れ 航空会社
10 UA
20 UA
30 UA
-20 UA
20 AA
-5 AA
-9 AA

summarize_group(group_cols=c("航空会社"), group_funs=("none"), 到着遅れ_平均 = mean(到着遅れ))

航空会社 到着遅れ_平均
UA 10
AA 2

元のデータ:

到着遅れ 出発遅れ 航空会社
10 20 UA
20 15 UA
30 -5 UA
-20 30 UA
20 10 AA
-5 20 AA
-9 30 AA

summarize_group(group_cols=c("航空会社"), group_funs=("none"), 到着遅れ平均 = mean(到着遅れ), DEP_DEALY合計 = sum(出発遅れ))

航空会社 到着遅れ_平均 出発遅れ_合計
UA 10 60
AA 2 60

元のデータ:

日付 到着遅れ 出発遅れ
06/01/2018 10 20
06/12/2018 20 15
06/18/2018 30 -5
06/21/2018 -20 30
07/14/2018 20 10
07/16/2018 -5 20
07/25/2018 -9 30

summarize_group(group_cols=c("FL_DATE"), group_funs=("month"), 到着遅れ平均 = mean(到着遅れ), 出発遅れ合計 = sum(出発遅れ))

日付_月 到着遅れ_平均 出発遅れ_合計
6 10 60
7 2 60

summarize_row

概要

指定した集計関数を利用して、各行の列の値を集計 します。

シンタックス

引数

mutate(合計 = summarize_row(across(c(コンシューマーからの売上, 法人から売上, 公共機関からの売上)), sum)
行ごとに指定した列の値を合計し、「合計」列を作成します。いずれかの列の値がNAの場合、結果もNAになります。

mutate(合計= summarize_row(across(c(コンシューマーからの売上, 法人から売上, 公共機関からの売上)), sum, na.rm = TRUE)
上記の例と同じ結果を返します。ただし、列の値のいくつかがNAであっても、結果は残りの値から計算されます。

mutate(合計 = summarize_row(across(where(is.numeric)), sum, na.rm = TRUE)
行ごとにすべての数値列の値を合計し、「合計」列を作成します。

mutate_group

概要

表計算などの指定された関数を使用して、新しい列を作成するか、既存の列を上書きます。グループ化をしているときには、グループごとに計算が実行されます。

シンタックス

mutate_group(group_cols=<列のリスト>, group_funs = <関数>, sort_cols=<列のリスト>, sort_funs = <関数>, ...)

引数

元のデータ:

到着遅れ 航空会社
10 UA
20 UA
30 UA
20 UA
20 AA
5 AA
9 AA

mutate_group(group_cols=c("航空会社"), group_funs=("none"), 到着遅れ_累積合計 = cumsum(到着遅れ))

航空会社 到着遅れ_cumsum
UA 10
UA 30
UA 60
UA 80
AA 20
AA 25
AA 34

元のデータ:

到着遅れ 出発遅れ 航空会社
10 20 UA
20 15 UA
30 -5 UA
-20 30 UA
20 10 AA
-5 20 AA
-9 30 AA

mutate_group(group_cols=c("航空会社"), group_funs=("none"), 到着遅れ_dfprev = 到着遅れ - lag(到着遅れ), DEP_DEALY_dfprev = 出発遅れ - lag(出発遅れ))

航空会社 到着遅れ_dfprev 出発遅れ_dfprev
UA NA NA
UA 10 -5
UA 10 -20
UA -50 35
AA NA NA
AA -25 10
AA -4 10

sum_if

概要

指定した条件を満たす合計値を返します。

シンタックス

sum_if(<列名>, <条件>,... , na.rm = <TRUE|FALSE>)

引数

返り値

Numeric

summarize(total = sum_if(売上合計, 商品 == 'パソコン' & 国 %in% c("Japan", "United States", "United Kingdom"))) 商品が「PC」で、国名が「Japan」、「United States」、「United Kingdom」のいずれかの売上の合計を計算する新しい列を作成ます。

summarize(total = sum_if(数量, 優先度 == 'P1' | 国 == "United States")) 優先度が「P1」または国が 「United States」 の数量の合計を計算する新しい列を作成します。

sum_if_ratio

概要

指定した条件を満たす合計値の、すべての値の合計値に対する比率を返します。

シンタックス

sum_if_ratio(<列名>, <条件>,... , na.rm = <TRUE|FALSE>)

引数

返り値

Numeric

summarize(total = sum_if_ratio(売上, 商品== 'パソコン' & 国 %in% c("Japan", "United States", "United Kingdom"))) 商品が「PC」で、国が「Japan」「United States」「United Kingdom」のいずれかの売上合計の、各グループの売上合計に対する比率を計算する新しい列を作成する。

count_if

概要

指定した条件を満たす行の数を集計します。

シンタックス

count_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

summarize(国の数 = count_if(国, 商品 == ‘’パソコン | 数量 > 10)) グループごとに商品が'パソコン'、または数量が10より大きい行の数を返します。

count_if_ratio

概要

総行数に対する指定した条件を満たす行の数の比率を集計します。

シンタックス

count_if_ratio(<列名>, <条件>, ... , na.rm = <TREU|FALSE>)

引数

summarize(国の割合 = count_if_ratio(国, 商品 == 'パソコン' | 数量 > 10)) グループごとの行の数に対する、商品が'パソコン'または数量が10より大きい行の数の比率を返します。

count_unique_if

概要

指定した条件を満たす行に由来する列の一意な値の数を数えます。

シンタックス

count_unique_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

summarize(country_count = count_unique_if(国, 商品 == 'パソコン' & 数量 > 10)) グループごとに商品が'パソコン'で、数量が10より大きい行に対する一意な国の数を返します。

count_unique_if_ratio

概要

指定した条件を満たす行から得られる一意の値の数と、一意の値の数の比率を返します。

シンタックス

count_unique_if_ratio(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

summarize(国の数の比率 = count_unique_if_ratio(国, 商品 == 'パソコン' & 数量 > 10)) 商品が'パソコン'で数量が10より大きい行のユニークな国の数と、各グループのユニークな国の数の比率を返します。

mean_if

概要

指定した条件を満たす平均値を返します。

シンタックス

mean_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

返り値

Numeric

summarize(売上の平均値 = mean_if(売上), 商品 == 'パソコン' | 数量 > 10))
グループごとに、商品が「PC」、または数量が10より大きい売上の平均値を計算する新しい列を作成します。

average_if

概要

指定した条件を満たす平均値を返します。 average_if関数は mean_if のエイリアスです。

シンタックス

average_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

返り値

Numeric

summarize(売上の平均値 = average_if(売上), 商品 == 'パソコン' | 数量 > 10))
グループごとに、商品が「PC」、または数量が10より大きい売上の平均値を計算する新しい列を作成します。

median_if

概要

指定した条件を満たす中央値を返します。

シンタックス

median_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

返り値

Numeric

summarize(売上の中央値 = median_if(売上), 商品 == 'パソコン' | 数量 > 10))
グループごとに、商品が「PC」、または数量が10より大きいの売上の中央値を計算する新しい列を作成します。_

max_if

概要

指定した条件を満たす数値列の最大値を返します。

シンタックス

max_if(<列名>, <条件>, ... , na.rm = <TRUE|FALSE>)

引数

summarize(売上の最大値 = max_if(売上, 商品 == 'パソコン' | 数量 > 10)
グループごとに、商品が「PC」、または数量が10より大きいの売上の最大値を計算する新しい列を作成します。

min_if

概要

指定した条件を満たす数値列の最小値を返します。

シンタックス

min_if(<列名>, <条件>, ..., na.rm = <TRUE|FALSE>)

引数

summarize(売上の最小値 = min_if(売上, 商品 == 'パソコン' | 数量 > 10))
グループごとに、商品が「PC」、または数量が10より大きいの売上の最小値を計算する新しい列を作成します。

count_rows

概要
グループごとの行の数を集計します。

シンタックス
count_rows()

引数

返り値
Numeric


summarize(total = count_rows())
グループごとの行の数を計算する新しい列を作成します。

count_unique

概要
一意な値の数を返します。

シンタックス
count_unique(<列名>, na.rm = <TRUE|FALSE>)

引数

返り値
Numeric


summarize(total = count_unique(飛行機の機体番号))
グループごとに、飛行機の機体番号の一意な数を計算する新しい列を作成します。

summarize(total = count_unique(州, 都市))
グループごとに州と都市のユニークな組み合わせの数を計算する新しい列を作成します。

weekend

概要
指定した日付列の値をもとに、平日か週末かのラベルをつけます。

シンタックス
weekend(<日付列>)

引数

返り値
Factor (either Weekday or Weekend)

weekend("2015-10-01")
Weekdayを返します。

weekend("2015-10-02")
Weekendを返します。

is_japanese_holiday

概要 is_jholiday関数のエイリアスです。指定した日付が日本の祝日の場合、TRUEを返します。

シンタックス
is_japanese_holiday(<日付列>)

引数

返り値
Factor (either TRUE or FALSE)

is_japanese_holiday("2020-01-01")
TRUEを返します。

is_japanese_holiday("2020-01-05")
FALSEを返します。

get_week_of_month

概要
月の週を抽出します。例えば、指定した日付が月の第1週であれば 1 を返します。

シンタックス
get_week_of_month(<日付列>)

返り値
Numeric

get_week_of_month(as.Date("2019-06-01")) 1を返します。 get_week_of_month(as.Date("2019-06-25")) 5を返します。

sample_rows

Summary
Sample n rows from the data frame. This is same as sample_n except for it handles the case where the number of rows in the data is fewer than the specified n without throwing error.

Syntax
sample_rows(<number>, weight=<column_num>, replace=<logical>, seed=<number>)

Arguments

Example

sample_rows(100)
Select 100 randomly selected rows.
sample_rows(100, weight = ARR_DELAY)
Select 100 randomly selected rows from the data with a weight on ARR_DELAY column.

confint_mean

概要
与えられた数値データから、平均の信頼区間(信頼区間の半分の幅)を返します。

シンタックス
confint_mean(<数値列>, level=<数値>)

引数

返り値
Numeric

Original data:

給料
2200
3000
5000
:
4000
3200
2200
:

confint = confint_mean(給料)

confint
25.32468

confint_ratio

概要
指定したロジカル型のデータからTRUEの割合の信頼区間(信頼区間の半分の幅)を返します。

シンタックス
confint_ratio(<ロジカル型の列>, level=<数値>)

引数

返り値
Numeric

Original data:

離職
TRUE
FALSE
FALSE
:
FALSE
TRUE
FALSE
:

confint = confint_ratio(離職)

confint
0.02065466

calc_confint_mean

概要
サンプルデータのサイズと標準偏差から、平均の信頼区間(信頼区間の半分の幅)を返します。

シンタックス
calc_confint_mean(<数値列>, <数値列>. level=<数値>)

引数

返り値
Numeric

Example

Original data:

部署 標準偏差 従業員数
営業 577.4946 2000
研究開発 288.8194 1000

confint = calc_confint_mean(標準偏差, 従業員数)

部署 標準偏差 従業員数 confint
営業 577.4946 2000 25.32468
研究開発 288.8194 1000 17.9226

calc_confint_ratio

概要
サンプルデータのサイズと標準偏差から、TRUEの割合の信頼区間(信頼区間の半分の幅)を返します。

シンタックス
calc_confint_ratio(<数値列>, <数値列>. level=<数値>)

引数

返り値
Numeric

Original data:

部署 離職率 従業員数
営業 0.33 2000
研究開発 0.25 1000

confint = calc_confint_ratio(離職率, 従業員数)

部署 離職率 従業員数 confint
営業 0.33 2000 0.02065466
研究開発 0.25 1000 0.02683791

cumsum_decayed

概要
減衰効果の累積和を計算します。第二引数のRが1の場合は、cumsum関数と同じ結果を得られます。

シンタックス
cumsum_decayed(<数値列>, <数値>)

引数

返り値 Numeric

元のデータ:

広告の効果
100
200
100
100

mutate(減衰効果の累積和 = cumsum_decayed(広告の効果, 0.1))

広告の効果 減衰効果の累積和
100 100
200 210
100 121
100 112.1

years_between

概要
2つの日付間の期間を年数で計算します。

シンタックス
years_between(<日付型の列>, <日付型の列>)

引数

返り値
numeric


years_between(ymd("2020-10-01), ymd("2021-10-01"))
2つの日付の期間を年数にした1の値を返します。

months_between

概要
2つの日付間の期間を月数で計算します。

シンタックス
months_between(<日付型の列>, <日付型の列>)

引数

返り値
numeric


months_between(ymd("2020-10-01), ymd("2021-10-01"))
2つの日付の期間を月数にした12の値を返します。

weeks_between

概要
2つの日付間の期間を週数で計算します。

シンタックス
weeks_between(<日付型の列>, <日付型の列>)

引数

返り値
numeric


weeks_between(ymd("2020-10-01), ymd("2021-10-01"))
2つの日付の期間を週数にした52.14286の値を返します。

days_between

概要
2つの日付間の期間を日数で計算します。

シンタックス
days_between(<日付型の列>, <日付型の列>)

引数

返り値
numeric


days_between(ymd("2020-10-01), ymd("2021-10-01"))
2つの日付の期間を日数にした365の値を返します。

hours_between

概要
2つの日付間の期間を時間で計算します。

シンタックス
hours_between(<日付・時間型の列>, <日付・時間型の列>)

引数

返り値
numeric


hours_between(ymd_hms("2020-10-01 05:00:00"), ymd_hms("2020-10-01 15:00:00"))
2つの日付の期間を時間にした10の値を返します。

minutes_between

概要
2つの日付間の期間を分で計算します。

シンタックス
minutes_between(<日付・時間型の列>, <日付・時間型の列>)

引数

返り値
numeric


minutes_between(ymd_hms("2020-10-01 05:00:00"), ymd_hms("2020-10-01 15:00:00"))
2つの日付の期間を分にした600の値を返します。

seconds_between

概要
2つの日付間の期間を秒で計算します。

シンタックス
seconds_between(<日付・時間型の列>, <日付・時間型の列>)

引数

返り値
numeric


seconds_between(ymd_hms("2020-10-01 05:00:00"), ymd_hms("2020-10-01 15:00:00"))
2つの日付の期間を秒にした36000の値を返します。

last_date

概要 指定した単位(月など)における、最後の日付を返します。

シンタックス last_date(<日付列>, unit = "week"|"month"|"quarter"|"year", previous = <TRUE|FALSE>, week_start = <数値>)

引数

返り値 Date

last_date(ymd("2022-10-01"), unit = "month")
"2022-10-31"を返します。

ts_lag

概要
特定の値の指定した前期間の値を返します。

シンタックス
ts_lag(<日付列>, <数値列>, unit = "day"|"week"|"month"|"quarter"|"year", n = <整数値>, na_fill_type = "previous"|"next"|"none")

引数

返り値 numeric

ts_lag(c(1,2,3), ymd(c("2020-01-01","2021-01-01","2022-01-01")), unit = "year", n = 1)


c(NA, 1, 2)を返します。

ts_diff

概要 特定の値の指定した前期間との差を計算します。

シンタックス
ts_diff(<日付列>, <数値列>, unit = "day"|"week"|"month"|"quarter"|"year", n = <整数値>, na_fill_type = "previous"|"next"|"none")

引数

返り値 numeric

ts_diff(ymd(c("2020-01-01","2021-01-01","2022-01-01")),c(1,2,3), unit = "year", n = 1)


c(NA, 1, 1)を返します。

ts_diff_ratio

概要 特定の値の指定した前期間との差の割合を計算します。

シンタックス
ts_diff_ratio(<日付列>, <数値列>, unit = "day"|"week"|"month"|"quarter"|"year", n = <整数値>, na_fill_type = "previous"|"next"|"none")

引数

返り値 numeric

ts_diff_ratio(c(1,2,3), ymd(c("2020-01-01","2021-01-01","2022-01-01")), unit = "year", n = 1)


c(NA, 1, 0.5)を返します。

likert_sigma

概要
1="強くそう思わない"、2="そう思わない"、3="どちらでもない"、4="そう思う"、5="強くそう思う "のようなアンケートの回答データの列からリッカートのシグマ値を返します。

シンタックス
likert_sigma(<数値列>)

引数

返り値
Numeric

元のデータ:

名前 アイスクリームがどれだけ好きか
Joe 5
Sally 4
Bob 2
John 5

sigma = likert_sigma(アイスクリームがどれだけ好きか)

名前 アイスクリームがどれだけ好きか sigma
Joe 5 0.7978846
Sally 4 -0.3246628
Bob 2 -1.2711063
John 5 0.7978846

logistic

概要
数値列に対してロジスティック関数を適用した結果を返すことができます。

シンタックス
logistic(<数値列>)

返り値
Numeric


logistic(X) X列に対してロジスティック関数を適用した結果を返します。

is_jholiday

概要 指定された日付が日本の祝日だった場合にTRUEを返します。

シンタックス
is_jholiday(<日付列>)

引数

返り値
Logical(TRUEまたはFALSEのどちらかを返します)

is_jholiday("2020-01-01")
祝日のためTRUEを返します。

is_jholiday("2020-01-05")
_ 祝日ではないためFALSEを返します。_