fc2ブログ

2012-07-22(Sun)

Rで分散共分散行列

共分散とは,2組の対応するデータ間での、平均からの偏差の積の平均値である。(by wikipedia)
相関関係を分析するために利用されます。

Rで分散共分散行列を作ってみる。
> # ランダムな数字の行列x, yを作る
> x<-c(57,71,87,88,83)
> y<-c(64,73,76,84,93)
> data<-data.frame(x,y)
> cor(data) # 共分散行列を作る
x y
x 1.000000 0.768622
y 0.768622 1.000000


参考:
Rで共分散構造分析・構造方程式モデル


2012-07-21(Sat)

Rで相関行列corを使ってみる

相関行列とは,複数の変数データ間の相関を行列で表したもの。

相関行列を作ってみる
> # ランダムな数字の行列x, yを作る
> x<-c(57,71,87,88,83,89,81,93,76,79)
> y<-c(64,73,76,84,93,80,88,94,73,75)
> data<-data.frame(x,y)
> data
x y
1 57 64
2 71 73
3 87 76
4 88 84
5 83 93
6 89 80
7 81 88
8 93 94
9 76 73
10 79 75
> cor(data) # 相関行列を求める
x y
x 1.0000000 0.7610985
y 0.7610985 1.0000000



2012-07-08(Sun)

Rの初期化をカスタマイズ with Ubuntu12.04

R起動時の初期化が.bashrcと同じやり方ともっと早く知るべきだった。
Rの初期化をカスタマイズしたのでメモる。
「初期化のカスタマイズ」と言っても、vim使うときに.vimrcを書くのと同じ。

Rの場合は".Rprofile"というファイルを.vimrcや.bashrcのあるhomeディレクトリに作成する。
.Rprofile例

options(repos="http://cran.md.tsukuba.ac.jp") # updateなどに使うミラーサイトを指定
source("init.R") # 自分がよく使う初期化。
# update.packages(ask=FALSE) # うまくいかないアップデートをコメント


.Rprofile内でupdate.packages()がうまくいかないのはなんでだろう?
オートアップデートにしたいのに。


参考:
 [RjpWiki]CRAN国内ミラーの使い方

2012-07-07(Sat)

RをJavaで動かす with Windows7 64bit(1)

rJavaというライブラリーを使ってRを動かしてみる。

環境:(リンクを貼っているので必要ならインストールする)
Windows7 64bit
R version 2.15
Exlipse 3.7(Indigo)
JDK 7

手順は以下のとおり。
①rJavaをインストールするためにRを起動する。
②EclipseでrJavaライブラリーを設定する。


①rJavaをインストール
Rを起動する。
> install.packages('rJava')
> library(rJava)
> .jpackage("rJava")
> .jengine(TRUE)
[1] "Java-Object{Thread[Thread-0,5,main]}"

ここで重要なことは、以下のライブラリーのパスを確認しておくこと。
64bitなので以下のパスとなることに注意すること。
C:\Program Files\R\R-2.15.0\library\rJava\jri\x64
C:\Program Files\R\R-2.15.0\bin\x64


②Eclipseを起動
Projectを作成しRun -> Run Configurationで以下を設定する。
Path: C:\Program Files\R\R-2.15.0\bin\x64;C:\Program Files\R\R-2.15.0\library\rJava\jri\x64
R_DOC_DIR: C:\Program Files\R\R-2.15.0\doc
R_INCLUDE_DIR: C:\Program Files\R\R-2.15.0\include
R_SHARE_DIR: C:\Program Files\R\R-2.15.0\share


動かしてみてもし以下のエラーが発生したらPATHの設定があやしい。

Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.

私は32bitのPATHを設定していて上記エラーが発生しました。


2012-06-03(Sun)

Rでmatplotを使ってグラフを作成してみる

相関とれるっぽい行列を作成
> cb<-cbind(
c(10,20,30,40,50,60,70,80,90),
c(90,80,70,60,10,40,30,20,10),
c(20,20,30,30,70,60,70,70,70),
c(20,20,30,30,20,60,70,70,70),
c(50,80,90,30,50,80,90,10,30),
c(30,10,40,30,60,70,20,10,40),
c(30,30,40,40,10,50,60,60,70)
)
> cb
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 2 3 3
[3,] 3 3 4
[4,] 4 5 4
[5,] 5 6 5
[6,] 6 7 5
[7,] 7 7 6


プロットする
matplot(cb, type="o", xlab="taste level", ylab="head-count", pch=c(1,2,3,4,5,6,10))


オプションについて少しメモっておく。
pch - プロット記号
本当は18種類あるらしい。
(1- ◯, 2- △, 3- +, 4- ☓, 5- ♢, 6- △, 7- □, 8- *, 9- ◇)

type - グラフの種類
what type of plot should be drawn. Possible types are
"p" for points,
"l" for lines,
"b" for both,
"c" for the lines part alone of "b",
"o" for both ‘overplotted’,
"h" for ‘histogram’ like (or ‘high-density’) vertical lines,
"s" for stair steps,
"S" for other steps, see ‘Details’ below,
"n" for no plotting.

xlab: "x軸ラベル名"
ylab: "y軸ラベル名"

ついでにラベルもつけてみる
ラベルの座標はlocator(1)を使うと表示後にクリックした場所に表示されるので便利。
legend(
locator(1),
legend=c("AB","AC","AD","AE","AF","AG","AH"), # ラベルの名前
col=c("black","blue","green", "red","green3", "darkorchid1","cyan3","aquamarine3"),
lty=c(1:7), # 線の種類
pch=c(1,2,3,4,5,6,10), # ポイントの種類
bg='gray90' # 背景色
)


相関係数行列を作ってみる。

> cor(cb)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1.00000000 -0.8991013 0.9067964 0.89527379 -0.3703280 0.08827348 0.7319251
[2,] -0.89910135 1.0000000 -0.9649709 -0.64162033 0.3699583 -0.28219309 -0.3655971
[3,] 0.90679645 -0.9649709 1.0000000 0.74430638 -0.2433421 0.27262071 0.4424714
[4,] 0.89527379 -0.6416203 0.7443064 1.00000000 -0.1801875 -0.06013071 0.9116846
[5,] -0.37032804 0.3699583 -0.2433421 -0.18018749 1.0000000 0.19069252 -0.1807016
[6,] 0.08827348 -0.2821931 0.2726207 -0.06013071 0.1906925 1.00000000 -0.2369018
[7,] 0.73192505 -0.3655971 0.4424714 0.91168461 -0.1807016 -0.23690177 1.0000000



プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR