第17回 granpark.rb 「データ解析技術入門(R言語編)」
値代入
1 2 3 4 5 6 7 8 |
|
代入には「=」も使えるが、Rは慣例的に「<-」を使う。
ベクトル計算
「c」を使う
1 2 3 4 5 6 |
|
行列計算
「matrix」を使う
3行4列の行列に1から12までの数値が入っている例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
irisを使ったRの基本的利用方法
アヤメのガクヘン(蕚片)と花びらに関するデータ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
図形描画
1 2 3 4 5 |
|
相関を見る
1 2 3 4 5 6 |
|
同じ値は1になる
単回帰分析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Rの掟
for, if, while, repeat, 添字操作は遅くなるのでなるべくやらない
添字操作は添字集合による論理判断させる
添字一つではなく、ある条件の集合体として操作させる
→それによってできた添字集合は逐次の論理判断と等価
問題
1 2 3 4 5 6 7 8 9 |
|
これを速くする
答え
1 2 3 4 |
|
できるだけコードを書かずに計算する方法を考えるとだいたい正解
Rメモ
- C++で実装されている
ifやforを使いすぎるとRubyやPerlより遅くなるが、ちゃんとやるとC++くらい速い
ifやループは使わない事に喜びをおぼえてきたら立派なR使い。
使うべきところは使ってもよい。エクセルより大きなデータを扱える
- 拡張パッケージがいろいろある
- メモリー容量内の範囲で使える
- 「R」は検索しにくい(Rubyとかのほうがヒットする)
メガ、ギガクラスの処理はRでよい →それより大きくなるとHive
Rstudioを入れると、WebブラウザでRが使える →エディタや描画や関数など別窓で表示させられる
→iPadでRが使えるらしい
その他
- 何かを計算する場合、テールの部分の情報は必要なのかを考えると良い
データが全部必要なのか、一部あればよいのか考慮することで計算量を少なくすることができる可能性がある