2015年2月24日火曜日

Rのチートシート


RとRubyによるデータ解析入門
http://www.amazon.co.jp/dp/4873116155
2章を参考に。


環境周り


Rの導入(macportsで)
sudo port install R

ファイルをコマンドラインから実行
R --vanilla --slave < hoge.R

--vanilla : Rがこれまでに保存していたオブジェクトを読み込まない
--slave : 標準出力に表示を出さない

パッケージのインストール
install.packages('tree')

インストール済パッケージ一覧
installed.packages()

パッケージのアンインストール
remove.packages('hoge')

パッケージの使用
library(tree)

Rのシンタックス

コメント
#

代入演算子

x <-1
or
1 -> x
or
mean(x = 1:10)

=はトップレベルでのみ使うことができて、関数内で使った場合はスコープが関数内になる。
x <- 1:10
とすると関数外でも使うことができる。

関数定義

my_function <- function(x,y) {

}


関数作成時に初期値を設定するには下記のようにする

my_function <- function(x,y=5) {

}

関数呼び出し

my_function(1,2)

引数に初期値がある場合は、すべての引数を指定しなくても良い

my_function(1)


条件文とループ


条件文の例

x <- 10
if (x > 20) {
print("x is greater than 20")
} else {
print(x is less than 20")
}

ループ3つ

repeat {}

breakないと止まらないお


while () {}

for ( x in 1:10) {}


データ構造

ベクトル(1次元配列)

// 結合関数cでつくる
> height <- c(1,2,3)

// :演算子でつくる
> 1:10

// seq関数でつくる
> seq(0,100,by=10)

// ベクトルの長さを取る
> length(height)

// ベクトルにアクセス
> length[1]

ベクトルのインデックスは0からではなく、1からはじまる

// 複数要素を取ることもできる
> length[2,3]


リスト

// key/value的な感じ
> peater <- list(name='Peter', age=30, glasses=TRUE)

// 参照は、位置もしくは、名前
> peater[1]

> peater['name']

// exact=FALSEにすると、名前の部分一致でもアリらしい
> petaer['na',exact=FALSE]


行例

> m <- matrix(1:20,nrow=5,ncol=4)

// デフォルトは列方向につくられるので、行方向につくりたいとき
> m <- matrix(1:20,nrow=5,ncol=4,byrow=TRUE)


アクセス

// 10番目、の意
m[10]

// 位置
m[3,4]

// 行列3~5行目,2~3列目
m[3:5,2:3]


配列

ベクトルを2次元以上へ拡張したもの。array()で作成する。
行列を複数つくる感じ

> a <- array(1:24,c(2,3,4))


ファクタ

値には、名義値、順序値、連続値がある。
名義値と順序値をつくりたいためのファクタ。


> colors <- c('green', 'red', 'blue')
> factor(colors)
[1] green red   blue
Levels: blue green red

デフォルトではabc順。factor作成時に順序指定することもできる。
> factor(colors, order=TRUE, levels=colors)


データフレーム

名前のついた複数のベクトルからなるリスト

ちょい書きかけ...

0 件のコメント:

コメントを投稿