R言語プログラミング: 基本演算子・初等関数

統計解析・データマイニング言語である R言語

ソースコードを用い紹介する。記載しているソースは、R Console上や EclipseでR-Scriptとして、そのまま実行可能である。

R Consoleでの実行例  (Rのインストール・環境設定はこちら)

EclipseでのR-Scriptとしての実行例  (RをEclipseで実行するための方法はこちら)

算術演算子

算術演算は、integer(整数), numerical(実数), complex(複素数)のScalar、および、Vector(ベクトル), matrix(マトリクス), data.frame(データフレーム), array(配列), list(リスト)に対し、適用可能である。

(※Rのデータ型については次を参照: R言語プログラミング: データ型・操作

演算 演算子
加算 + a+b
減算 - a-b
乗算 * a*b
除算 / a/b
べき算 ^ a^b
整数除算 %/% a%/%b
剰余 %% a%%b

Vector(ベクトル)の場合の例を以下に示す。

a<-c(5,6,7,8) # vector a
b<-c(1,2,3,4) # vector b

a+b #加算
a-b #減算
a*b #乗算
a/b #除算
a^b #べき算
a%/%b #整数除算(商)

実行結果

> a<-c(5,6,7,8) # vector a
> b<-c(1,2,3,4) # vector b
> 
> a+b #加算
[1]  6  8 10 12
> a-b #減算
[1] 4 4 4 4
> a*b #乗算
[1]  5 12 21 32
> a/b #除算
[1] 5.000000 3.000000 2.333333 2.000000
> a^b #べき算
[1]    5   36  343 4096
> a%/%b #整数除算(商)
[1] 5 3 2 2
> a%%b #剰余
[1] 0 0 1 0

算術演算に関する優先順位規則は以下。

  1. 括弧
  2. べき算
  3. 整数除算と剰余
  4. 乗算と除算
  5. 加算と減算

比較演算子

演算 演算子 第1引数 第2引数 返り値
より大きい > a>b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
より小さい a<b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
以上 >= a>=b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
以下 <= a<=b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
等しい == a==b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
等しくない != a!=b 比較可能ベクトル 比較可能ベクトル 比較可能ベクトル
a<-c(1,3,4,7) # vector a
b<-c(2,3,5,6) # vector b

a>b  #より大きい
a<b  #より小さい
a>=b #以上
a<=b #以下
a==b #等しい
a!=b #等しくない

実行結果

> a<-c(1,3,4,7) # vector a
> b<-c(2,3,5,6) # vector b
> 
> a>b  #より大きい
[1] FALSE FALSE FALSE  TRUE
> a<b  #より小さい
[1]  TRUE FALSE  TRUE FALSE
> a>=b #以上
[1] FALSE  TRUE FALSE  TRUE
> a<=b #以下
[1]  TRUE  TRUE  TRUE FALSE
> a==b #等しい
[1] FALSE  TRUE FALSE FALSE
> a!=b #等しくない
[1]  TRUE FALSE  TRUE  TRUE

論理演算子

演算 演算子 第1引数 第2引数 返り値
否定 ! !(x) 論理値ベクトル 論理値ベクトル 論理値ベクトル
論理積 && x && y 論理値ベクトル 論理値ベクトル 論理値
論理和 | x || y 論理値ベクトル 論理値ベクトル 論理値
ベクトル化論理積 & x & y 論理値ベクトル 論理値ベクトル 論理値ベクトル
ベクトル化論理和 | x | y 論理値ベクトル 論理値ベクトル 論理値ベクトル
排他的論理和 xor xor(x,y) 論理値ベクトル 論理値ベクトル 論理値ベクトル
x<-c(TRUE,TRUE,FALSE,FALSE) # 論理値 vector x
y<-c(FALSE,TRUE,TRUE,TRUE)  # 論理値 vector y

x # xを表示
y # yを表示

!x   #否定
x && y #論理積
x || y #論理和
x & y  #ベクトル化論理積
x | y  #ベクトル化論理和
xor(x, y) #排他的論理和

実行結果

> x<-c(TRUE,TRUE,FALSE,FALSE) # 論理値 vector x
> y<-c(FALSE,TRUE,TRUE,TRUE)  # 論理値 vector y
> 
> x # xを表示
[1]  TRUE  TRUE FALSE FALSE
> y # yを表示
[1] FALSE  TRUE  TRUE  TRUE
> 
> !x   #否定
[1] FALSE FALSE  TRUE  TRUE
> x && y #論理積
[1] FALSE
> x || y #論理和
[1] TRUE
> x & y  #ベクトル化論理積
[1] FALSE  TRUE FALSE FALSE
> x | y  #ベクトル化論理和
[1] TRUE TRUE TRUE TRUE
> xor(x, y) #排他的論理和
[1]  TRUE FALSE  TRUE  TRUE

※if文の引数がベクトルのときは、第一成分目のみが判定に用いられる。

初等関数

またRには次の初等関数も用意されている。
Vectorの場合の実行例もともに示す。

演算 演算子
絶対値 abs abs(a)
自然指数 exp exp(a)
平方根 sqrt sqrt(a)
自然対数 log log(a)
常用対数 log10 log10(a)
四捨五入 round round(a,3)
三角関数 cos,sin,tan cos(a),cos(a),tan(a)
三角関数 acos,asin,atan acos(a),asin(a),atan(a)
a<-c(-2,-1,1,2)
abs(a) #絶対値
exp(a) #自然指数

b<-c(1,2,3,4)
sqrt(b) #平方根
log(b) #自然対数
log10(b) #常用対数

c<-c(0.1,0.12,0.123,0.1234)
round(c,2) #四捨五入

d<-c(0,pi/2,pi)
sin(d)#正弦関数
cos(d)#余弦関数
tan(d)#正接関数

e<-c(0,0.5,1)
asin(e)#逆正弦関数
acos(e)#逆余弦関数
atan(e)#逆正接関数

実行結果

> a<-c(-2,-1,1,2)
> abs(a) #絶対値
[1] 2 1 1 2
> exp(a) #自然指数
[1] 0.1353353 0.3678794 2.7182818 7.3890561
> 
> b<-c(1,2,3,4)
> sqrt(b) #平方根
[1] 1.000000 1.414214 1.732051 2.000000
> log(b) #自然対数
[1] 0.0000000 0.6931472 1.0986123 1.3862944
> log10(b) #常用対数
[1] 0.0000000 0.3010300 0.4771213 0.6020600
> 
> c<-c(0.1,0.12,0.123,0.1234)
> round(c,2) #四捨五入
[1] 0.10 0.12 0.12 0.12
> 
> d<-c(0,pi/2,pi)
> sin(d)#正弦関数
[1] 0.000000e+00 1.000000e+00 1.224606e-16
> cos(d)#余弦関数
[1]  1.000000e+00  6.123032e-17 -1.000000e+00
> tan(d)#正接関数
[1]  0.000000e+00  1.633178e+16 -1.224606e-16
> 
> e<-c(0,0.5,1)
> asin(e)#逆正弦関数
[1] 0.0000000 0.5235988 1.5707963
> acos(e)#逆余弦関数
[1] 1.570796 1.047198 0.000000
> atan(e)#逆正接関数
[1] 0.0000000 0.4636476 0.7853982

関連文献:

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによる統計解析

Rによる統計解析

Rによるやさしい統計学

Rによるやさしい統計学

http://www.db.is.kyushu-u.ac.jp/rinkou/r/rintro.html
R: The R Project for Statistical Computing