ベクトル

ベクトルの作成と要素の取り出し方

Julia では R のベクトルのような型がなく、代わりに 1 次元配列を利用する。配列を作成するとき、Julia では [] を利用する。配列の作成方法や要素の取り方はなどについては、R と似ている。例えば、Julia の [1, 2, 3]c(1, 2, 3) に読みかえれば、ベクトルの各要素の取り出し方やベクトル同士の計算方法などが R とほとんど同じである。

a = [1, 1, 2, 3, 5, 8, 13]
b = [1, 4, 9, 16, 25, 36, 49]

c = a + b
## 7-element Array{Int64,1}:
##   2
##   5
##  11
##  19
##  30
##  44
##  62

ベクトルの要素にアクセスするには添字番号を与えるか、真か偽のベクトルを利用する。

x = [11, 22, 33, 44, 55, 66, 77]
x[[1, 3, 5, 7]]
## 4-element Array{Int64,1}:
##  11
##  33
##  55
##  77

x[[true, true, true, false, false, false, true]]
## 4-element Array{Int64,1}:
##  11
##  22
##  33
##  77

2 つのベクトルをつなげるときも、R の c(a, b) のように行える。

t = [1, 3, 5]
s = [2, 4, 6]

[t, s]
## 6-element Array{Int64,1}:
##  1
##  3
##  5
##  2
##  4
##  6

データの特徴量の計算(合計、平均、分散など)

データの特徴量の計算に関しては、用意された関数を利用すると便利である。

y = [1, 3, 5, 7]

sum(y)
## 16

mean(y)
## 4.0

var(y)
## 6.666666666666667

cumsum(y)
## 4-element Array{Int64,1}:
##   1
##   4
##   9
##  16

ベクトル要素の並べ替え

ベクトル要素の並べ替えなども簡単にできる。

t = [3, 1, 4, 8, 2, 6, 7, 5]

sort(t)
## 8-element Array{Int64,1}:
##  1
##  2
##  3
##  4
##  5
##  6
##  7
##  8

t[sortperm(t)]
## 8-element Array{Int64,1}:
##  1
##  2
##  3
##  4
##  5
##  6
##  7
##  8

reverse(t)
## 8-element Array{Int64,1}:
##  5
##  7
##  6
##  2
##  8
##  4
##  1
##  3

ベクトルの集合演算

集合演算については以下のように関数を利用できる。

p = [1, 2, 3, 4, 5, 6, 7, 8]
q = [2, 4, 6, 8, 10, 12, 14, 16]

union(p, q)
## 12-element Array{Int64,1}:
##   1
##   2
##   3
##   4
##   5
##   6
##   7
##   8
##  10
##  12
##  14
##  16

intersect(p, q)
## 4-element Array{Int64,1}:
##  2
##  4
##  6
##  8

setdiff(p, q)
## 4-element Array{Int64,1}:
##  1
##  3
##  5
##  7

setdiff(q,, p)
## 4-element Array{Int64,1}:
##  10
##  12
##  14
##  16

References

  • Introducing Julia/Arrays and tuples. WIKIBOOKS