算術/文字列 関数

算術関数

abs(x) 絶対値
cos(x), sin(x), tan(x) 三角関数
cosh(x), sinh(x), tanh(x) 双曲線関数
acos(x), asin(x), atan(x), atan(x, y) 逆三角関数
acosh(x), asinh(x), atanh(x) 逆双曲線関数
exp(x), log(x), log10() 指数、自然対数、常用対数
sqrt(x) 平方根
gamma(x) ガンマ関数
lgamma(x) ガンマ関数の自然対数
max( ... ), min( ... ) 最大、最小 (結果は単一値)
pmax( ... ), pmin( ... ) 並列最大、並列最小 (対応位置ごとの)
ceiling(x), floor(x), trunc(x) 天井、床、打ち切り
round(x,n) x を 小数点以下 n 桁に丸める
signif(x,n) x を 有効数字 n 桁に丸める
注:
pmax(0,x):ベクトル x の負の値を0に置換した結果。
max(0,x):ベクトル x の最大値と0の大きい方。

文字列関数

substring(x, first, last) x (の各要素)の first 文字目から last 文字目までの部分文字列(ベクトル) 。
例 文字列 x を1字づつのベクトルに分解する。 substring (x , 1:nchar(x), 1:nchar(x))
例 4桁以下の整数列 num を 左側の空きを0で埋めた4桁の文字列にする。 substring(10000 + num, 2)
nchar(x) x (の各要素)の 文字列としての長さ(ベクトル)
paste(...) ...に与えられた要素を接着した文字列(ベクトル)。 与えられた要素の最大長に等しい長さをもつベクトルとなる。
unpaste(x,sep) 文字列をsepで指定した文字などを頼りに、分割しベクトルとする。
grep(pattern,text) 文字列ベクトルtext中で、patternにマッチするもの番目の数値ベクトル。
format(x) 原子オブジェクトx (ベクトル) の 全ての要素を同じ長さの文字列に変換した文字列ベクトル。 (適当な空白を追加するなどしてくれる。)

パタンマッチ/集合関数

match(x, table) x (の各要素)が table の何番目の要素と完全に一致するか。 (tableに重複があれば、最初にマッチした要素の番目)
pmatch(x, table) x (の各要素)が table の何番目の要素と(部分)一致するか。 (一致は、関数の引数名のマッチと同様な部分マッチを許す)
charmatch(input, target, nomatch=NA) 文字列の部分マッチング
is.element(el, set) el の各要素について、それぞれが set の要素であるかの論理値
union(x, y) ベクトル x と y を合せて重複を取り除いたベクトル
intersect(x, y) ベクトル x と y の両方に表れる要素のベクトル
regexpr(pattern, text) 正規表現 pattern にマッチする 位置を text から探す。
> regexpr("[0-9]+", c("10 Sept", "Oct 9th", "Jan 2", "4th of July"))
[1] 1 5 5 1                # マッチした先頭位置
attr(, "match.length"):
[1] 2 1 1 1                # マッチした長さ

unix上でS言語が走っていれば、
unix(command, input=, output=TRUE)
なるS関数で、unix の command を利用して、文字列として S言語上に受け取ることができるので、unix上の grepや sed, perl などの 関数を利用することもできる。