03. 簡単な計算


簡単な計算(演算子と関数)

R では以下の演算子を使って計算が行える.下の表に載っている演算子以外に,( や ) などの括弧を使うことも出来る.

記号

意味

 

記号

意味

+

足し算

^

累乗

-

引き算

%/%

整数商

*

掛け算

%%

剰余

/

割り算

 

以下に例を示す.

 
 (1 + 2 - 3 * 4) / 5^6

[1] -0.000576

ルートの計算や対数の計算などを行う場合は関数を用いる.R には多数の数学関数が用意されており,例えばルート2を計算する場合は sqrt(2) とすればよい.この sqrt() というものが関数で,括弧の中に計算したい数を入れればよい.

 
 sqrt(2)

[1] 1.414213

複数の関数が含まれた計算を一度に行うことも出来る. 

 
 sqrt(100) + round(100) / log10(100)

[1] 60

以下に R で用意されている数学関数を紹介する.表中の x は 2.0 や -0.5 などの実数を表すものとする. 

記号

意味

 

記号

意味

sqrt

√ の計算

cosh

ハイパボリックコサイン

abs

絶対値

tanh

ハイパボリックタンジェント

exp

2.71828...

asinh

sinh の逆関数

expm1

x の絶対値 が1よりかなり小さい時に exp(x)-1 をより正確に計算

acosh

cosh の逆関数

log

自然対数

atanh

tanh の逆関数

log10

常用対数 (底が10の対数)

logb

log と同じ

log2

底が2の対数

log1px

x の絶対値が1より(かなり)小さい時,log(1+x) をより正確に計算

sin

サイン・正弦関数

gamma

ガンマ関数

cos

コサイン ・ 余弦関数

lgamma

log(gamma(x)) と同じ

tan

タンジェント ・ 正接関数

ceiling

引数以上の最小整数

asin

sin の逆関数

floor

引数以下の最大整数:いわゆるガウス記号

acos

cos の逆関数

trunc

整数部分を求める

atan

tan の逆関数

round

四捨五入

sinh

ハイパボリックサイン

signif(x,a)

x を 有効桁で a 桁まで丸める
正・0・負を判定する sign とは異なるので注意

留意事項

式を入力する際に,sin などの名前の中や後に出てくる文字列の中を除いて,空白はいくつあっても構わない.例えば以下の 2 つの命令ははどちらも同じ結果を返す.

 
 1          +          2 

[1] 3

 1 + 2

[1] 3

セミコロン ; で区切ることで,複数の式をまとめて一行に書くことも出来る.

 
 1+2;   3-4

[1] 3
[1] -1

括弧が閉じていない場合や演算式が終了していない場合など,式が未完成のままで改行を入力してしまうと,R は通常のプロンプト > の代わりに式が継続していることを示す + を表示する.この場合,引き続いて続きの式を入力することが出来る.

 
> 1 +
+ 2

[1] 3  

2 行目先頭の + は「式が継続していることを示す + 」であり,「 1 ++ 2 」という入力ではない. > と同様,「式が継続していることを示す + 」は実際には入力する必要は無く,「 1 + 2 」とだけ入力すればよい.また,計算式の入力が途中の状態で,その計算式の入力をやめたい時は 〔Esc〕 キーを入力すればよい.

S-PLUS や S 言語では,文字列を示す " や ' が閉じていない場合は文字列が継続していることが一目でわかるように + の代わりに “Continue string: +” が使われる.どちらもこの状態から式の続きを入力することが出来,式が完成した時点で評価が行なわれる.しかし R ではエラーが出る場合があるので注意.

以前に計算した式を再び呼び出す(履歴)

前に使った命令を再度使う際,キーボードの上矢印 〔↑〕 や下矢印 〔↓〕 で前の命令を表示することが出来る.ここで (Enter キー)を押せば,再度同じ計算を実行してくれる. 〔↑〕 を何回も押すことで,過去に入力した計算式が遡って表示される

他にも,今までに入力した命令を一覧で表示する関数 history() がある.

コメント

また,入力した計算式のメモを書いておきたい場合がある.そのようなときは # 以下にコメントを書くことが出来る.# 以下の文字列は無視されるので,好きなことを好きなだけ書くことが出来(ただし英語版の R で日本語コメントを書いた場合は文字化けしてしまうので注意が要る),コメントをつけても実行結果に変わりはない.前述の命令にコメントをつけた例を挙げる.

 
 (1 + 2 - 3 * 4) / 5^6       # 足して引いて掛けて割って・・・

[1] -0.000576

以降,本書では入力式の説明をコメントで行う場面が多数出てくるが,コメントの文章は入力する必要はない(念のため).先ほどの例であれば,

とだけ入力すればよい.

コンソール画面の消去(Windows 版)

計算を続けるうちに,結果の画面(コンソール画面)が文字で一杯になる.Windows 版 R ならば,メニューの [編集] → [コンソール画面を消去] でコンソール画面を掃除することが出来る.