LinuxでR言語を使う

アニメ『究極超人あ~る』(1991)
当時は全然面白くありませんでした。巨大ロボが出てきて戦わないとアニメじゃないと思い込んでいたので。大人になった今ならわかるだろうかと思い、視聴してみましたが、やはりわからず。ただ、単に趣味じゃないだけかもしれません。

今回はあ~るつながりで、R言語です。ただし、やはりこちらも趣味じゃない気がしてました。使うまでは。食わず嫌いは損をするので、とことん使い倒してから、面白いかどうか判断してみようと思います。

LinuxへR言語をインストールするのは簡単です。

# apt-get install r-base

起動は、ただ「R」と入力します。

takk@deb9:~/tmp$ R

R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。

R は多くの貢献者による共同プロジェクトです。
詳しくは 'contributors()' と入力してください。
また、R や R のパッケージを出版物で引用する際の形式については
'citation()' と入力してください。

'demo()' と入力すればデモをみることができます。
'help()' とすればオンラインヘルプが出ます。
'help.start()' で HTML ブラウザによるヘルプがみられます。
'q()' と入力すれば R を終了します。

>

起動時の説明にある通り、終了するには、q()を実行することを覚えておきましょ。
では、使っていきます。まずはオブジェクトの代入から。
代入には”<-“を使います。

> a <- 10

R言語は関数も含めすべてがオブジェクトですので、aもオブジェクトとなります。
値を確認してみましょう。

> a
[1] 10
>

“=”や”assign”関数も使えます。

> b = 20
> b
[1] 20
>

関数を使用するには、()で囲みます。

> assign ('c',30)
> c
[1] 30
>

変数の値は、変数名を入力するだけで確認できます。;(セミコロン)を使うと、一行に複数記述できます。

> a;b;c
[1] 10
[1] 20
[1] 30
>

四則演算はそのまま書けます。

> -1 - (a + b * c) / 2
[1] -306
>

数列を作成するには、c()関数を使います。R言語ではベクトルと呼びます。

> c(1,2,3)
[1] 1 2 3
>

なぜベクトルを作るのに、c()関数なんでしょう。cは、concatenateするのcの意味です。c()関数を使った結果、ベクトルになるだけなのです。

> a <- c (1,2,3)
> b <- c (4,5,6)
> c (a,b)
[1] 1 2 3 4 5 6
>

連続する数列は:(コロン)を使うことで簡単に作れます。

> 1:10
 [1]  1  2  3  4  5  6  7  8  9 10
>

さて、ずっと気になっている結果を表示する際の[1]についてですが、これは、その行の一番最初の要素がベクトルの何番目であるかを示しています。
1~100までの数列を作ると確認できます。

> 1:100
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
 [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
 [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
 [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
 [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
 [91]  91  92  93  94  95  96  97  98  99 100
>

101~200だとこのような結果です。

> 101:200
  [1] 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
 [19] 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
 [37] 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
 [55] 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
 [73] 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
 [91] 191 192 193 194 195 196 197 198 199 200
>

代入したオブジェクトの一覧を得るには、ls()を使います。

> a <- 10
> b <- 20
> c <- 30
> d <- 40
> ls()
[1] "a" "b" "c" "d"
>

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA