18.5 Rライクな関数の一覧

18.5.1 ベクトルに関連する関数

head(v, n)

ベクトル v の最初の要素から n 個のベクトルを返す。

tail(v, n)

ベクトル v の最後の要素から n 個のベクトルを返す。

rev(v)

ベクトル v の要素を逆順に並べたベクトルを返す。

rep(x, n)

ベクトルあるいはスカラー x を n 個つなげたベクトルを返す。

rep_each(v, times)

ベクトル v の要素を順に times 回ずつ繰り返したベクトルを返す。

rep_len(v, n)

最終的にベクトルの長さが n になるまでベクトル v を繰り返したベクトルを返す。

seq(start, end)

整数 start から end までの連続した整数のベクトルを返す。

seq_along(v)

1 からベクトル v の要素数までの連続した整数のベクトルを返す

seq_len(n)

1 から n までの連続した整数のベクトルを返す

diff(v)

ベクトル v の最後の要素を除いた各要素 i について v[i+1] - v[i] を計算したベクトルを返す。

18.5.2 文字列に関連する関数

collapse(v)

文字列ベクトル v の各要素を結合した文字列を String 型で返す。

18.5.3 値の検索に関連する関数

match(v, table)

ベクトル v の各要素について、値が一致するベクトル table の最初の要素の要素番号(1から始まる)を格納した整数ベクトルを返す。(つまり、res = match(v, table) とすると、res[i] には v[i]==table[j] となる最小の j+1 の値が格納される)

self_match(v)

match(v, table) の v と table に同じベクトルを渡した場合と同義。

which_max(v)

ベクトル v の最大の要素の要素番号を返す。

which_min(v)

ベクトル v の最小の要素の要素番号を返す。

18.5.4 重複の値に関連する関数

duplicated(v)

ベクトル v の各要素の値が、それより前の要素に存在する場合には 1 を、そうでない場合には 0 を入れたベクトルを返す。

unique(v)

ベクトル v から要素の値の重複をなくしたベクトルを返す。

sort_unique(v)

ベクトル v から要素の値の重複をなくし、値を昇順でソートしたベクトルを返す。

18.5.5 集合演算に関連する関数

setdiff(v1,v2)

ベクトル v1 のユニークな(値の重複のない)要素から、ベクトル v2 のユニークな要素にある値を除いたベクトルを返す。

setequal(v1,v2)

ベクトル v1 のユニークな要素がベクトル v2 のユニークな要素と等しい場合には true を返す。

intersect(v1,v2)

ベクトル v1 のユニークな要素とベクトル v2 のユニークな要素の両方に含まれる要素をベクトルで返す。

union_(v1,v2)

ベクトル v1 とベクトル v2 の要素を合わせてから値の重複をなくしたベクトルを返す。

18.5.6 最大値・最小値に関連する関数

min(v)

ベクトル v の要素の最小値を返す。

max(v)

ベクトル v の要素の最大値を返す。

cummin(v)

ベクトル v の各要素について、その要素自身を含むそれ以前の要素の最小値を格納したベクトルを返す

cummax(v)

ベクトル v の各要素について、その要素自身を含むそれ以前の要素の最大値を格納したベクトルを返す

pmin(v1,v2)

ベクトル v1 v2 の対応する要素を比較し、大さい方の要素を格納したベクトルを返す。

pmax(v1,v2)

ベクトル v1 v2 の対応する要素を比較し、大きい方の要素を格納したベクトルを返す。

range(v)

ベクトル v の最小値と最大値からなるベクトルを返す。

clamp(min, v, max)

ベクトル v の要素の min 未満の値を min に、max 超の値を max に置き換えたベクトルを返す。

18.5.7 集計に関連する関数

sum(v)

ベクトル v の要素の値の総和を返す。

mean(v)

ベクトル v の要素の値の平均値を返す。

median(v)

ベクトル v の要素の値の中央値を返す。

sd(v)

ベクトル v の要素の値の標準偏差を返す。

var(v)

ベクトル v の要素の値の分散を返す。

cumsum(v)

ベクトル v の各要素について、それ以前の要素の総和を格納したベクトル返す。

cumprod(v)

ベクトル v の各要素について、それ以前の要素の総積を格納したベクトル返す。

table(v)

ベクトル v のユニークな要素の値それぞれについて、値の等しい要素がいくつあるか集計した名前付き整数ベクトルを返す。

rowSums(m , na.rm = false)

行列 m の各行の総和をとったベクトルを返す。na.rm = true なら総和を計算する際にNAを無視する。

colSums(m , na.rm = false)

行列 m の各列の総和をとったベクトルを返す。na.rm = true なら総和を計算する際にNAを無視する。

rowMeans(m , na.rm = false)

行列 m の各行の平均をとったベクトルを返す。na.rm = true なら総和を計算する際にNAを無視する。

colMeans(m , na.rm = false)

行列 m の各列の平均をとったベクトルを返す。na.rm = true なら総和を計算する際にNAを無視する。

18.5.8 端数処理に関連する関数

floor(v)

ベクトル v の各要素について、その値より大きくない最大の整数を格納したベクトルを返す。

ceil(v)

ベクトル v の各要素について、その値より小さくない最大の整数を格納したベクトルを返す。

ceiling(v)

ceil() と同義。

round(v, digits)

ベクトル v の各要素を有効桁数 digits で丸めたベクトルを返す。

trunc(v)

ベクトル v の各要素について、小数点以下を切り捨てたベクトルを返す。

18.5.9 数学に関連する関数

sign(v)

ベクトル v の各要素について、正なら1を負なら-1を格納したベクトルを返す。

abs(v)

ベクトル v の各要素の絶対値を格納したベクトルを返す。

pow(v, n)

ベクトル v の各要素を n 乗したベクトルを返す。

sqrt(v)

ベクトル v の各要素の平方根をとったベクトルを返す。

exp(v)

ネイピア数 e をベクトル v の各要素の値でべき乗したベクトルを返す。

expm1(v)

exp(v) - 1 と同義。

log(v)

ベクトル v の各要素の自然対数をとったベクトルを返す。

log10(v)

ベクトル v の各要素の常用対数をとったベクトルを返す。

log1p(v)

log(v+1) と同義。

sin(v)

ベクトル v の各要素のサインをとったベクトルを返す。

sinh(v)

ベクトル v の各要素のハイパボリックサインをとったベクトルを返す。

cos(v)

ベクトル v の各要素のコサインをとったベクトルを返す。

cosh(v)

ベクトル v の各要素のハイパボリックコサインをとったベクトルを返す。

tan(v)

ベクトル v の各要素のタンジェントをとったベクトルを返す。

tanh(v)

ベクトル v の各要素のハイパボリックタンジェントをとったベクトルを返す。

acos(v)

ベクトル v の各要素のアークコサインをとったベクトルを返す。

asin(v)

ベクトル v の各要素のアークサインをとったベクトルを返す。

atan(v)

ベクトル v の各要素のアークタンジェントをとったベクトルを返す。

gamma(v)

ベクトル v の各要素をガンマ関数で変換したベクトルを返す。

lgamma(v)

log(gamma(v)) と同義。

digamma(v)

ベクトル v の各要素を lgamma() の一階微分関数で変換したベクトルを返す。

trigamma(v)

ベクトル v の各要素を lgamma() の二階微分関数で変換したベクトルを返す。

tetragamma(v)

ベクトル v の各要素を lgamma() の三階微分関数で変換したベクトルを返す。

pentagamma(v)

ベクトル v の各要素を lgamma() の四階微分関数で変換したベクトルを返す。

psigamma(v, deriv)

ベクトル v の各要素を digamma(v) の deriv 階微分関数で変換したベクトルを返す。

factrial(v)

ベクトル v の各要素の階乗をとったベクトルを返す。

lfactorial(v)

log(factrial(v)) と同義。

choose(vn, vk)

実数ベクトル vn、整数ベクトル vk の対応する各要素を用いて二項係数を計算したベクトルを返す。

lchoose(vn, vk)

log(choose(vn, vk)) と同義。

beta(va, vb)

ベクトル va, vb の対応する各要素を用いてベータ関数の値を計算したベクトルを用います。

lbeta(va, vb)

log(beta(va, vb)) と同義。

18.5.10 論理値に関連する関数

all(v)

論理ベクトル v を受け取り、全ての要素が TRUE の時、TRUE を意味する SingleLogicalResult 型を返す。

any(v)

論理ベクトル v を受け取り、いずれかのの要素が TRUE の時、TRUE を意味する SingleLogicalResult 型を返す。

is_true(x)

all(), any() の返値 x を受け取り TRUE の場合には true を bool 型で返す。

is_false(x)

all(), any() の返値 x を受け取り FALSE の場合には true を bool 型で返す。

is_na(x)

all(), any() の返値 x を受け取り NA の場合には true を bool 型で返す。

ifelse(v, x1, x2)

論理ベクトル v を受け取り、v の要素が TRUE の時には x1 の対応する要素を, FALSE の時には x2 の対応する要素を格納したベクトルを返す。x1, x2 はベクトルでもスカラーでも良いが、ベクトルの長さは v と一致している必要がある。

18.5.11 NA、Inf、NaNに関連する関数

na_omit(v)

ベクトル v から NAを削除したベクトルを返す。

is_finite(v)

ベクトル v の各要素が Inf または -Inf または NA ではない場合に TRUE を格納した論理ベクトルを返す。

is_infinite(v)

ベクトル v の各要素が Inf または -Inf である場合に TRUE を格納した論理ベクトルを返す。

is_na(v)

ベクトル v の各要素が NA または NaN である場合に TRUE を格納した論理ベクトルを返す。

is_nan(v)

ベクトル v の各要素が NaN である場合に TRUE を格納した論理ベクトルを返す。

18.5.12 apply関数

lapply(x, fun)

Vector x の各要素に対してC++の関数 fun を適用した結果を List で返す。

sapply(x, fun)

Vector x の各要素に対してC++の関数 fun を適用した結果を Vector で返す。

mapply(x1, x2, fun2)

Vector x の各要素に対して2個の引数を受け取るC++の関数 fun2 を適用した結果を Vector で返す。

mapply(x1, x2, x3, fun3)

Vector x の各要素に対して3個の引数を受け取るC++の関数 fun3 を適用した結果を Vector で返す。

18.5.13 cbind関数

cbind(v1,v2,…)

引数として渡した Vector または Matrix を列方向に結合した Matrix または DataFrame を返します。渡せる引数の数は50個まで。

18.5.14 サンプリング関数

sample(x, size, replace = false, prob = R_NilValue)

Vector x から size 個の要素をランダムに抽出した Vector を返す。replace = true の場合は要素の重複を許して抽出する。 prob には x の各要素を抽出する重みを指定するベクトルを渡す。

sample(n, size, replace = true, prob = R_NilValue, one_based = true)

n 個の要素から size 個の要素をランダムに抽出した時の、要素のインデックスを整数ベクトルで返す。replace = true の場合は要素の重複を許して抽出する。 prob には n 個の各要素を抽出する重みを指定するベクトルを渡す。one_based = true の場合には最初の要素のインデックスは 1、false の場合には最初の要素のインデックスは 0 で表現される。

// Adapted from do_sample inline Vector sample(int n, int size, bool replace = false, sugar::probs_t probs = R_NilValue, bool one_based = true)