drkcore

2011/11/19 07:04:30

デジタル画像処理 (Rで学ぶデータサイエンス 11)

購入しようかどうか悩み中

ProductName デジタル画像処理 (Rで学ぶデータサイエンス 11)
勝木 健雄
共立出版 / 3885円 ( 2011-11-23 )


中を見てからかなぁ。

R

2011/07/18 07:14:33

グラフィックスのためのRプログ​ラミング―ggplot2入門

待ちに待った日本語版

ProductName グラフィックスのためのRプログラミング―ggplot2入門
H.ウィッカム
シュプリンガー・ジャパン株式会社 / 4200円 ( 2011-07-18 )


楽しみだ。

R

2011/05/26 20:41:47

Beanplotは密度を視覚的にわかりやすくしたBoxplotの亜種

まず、次のBoxplotを見てどういう分布か予想できるだろうか?(zは簡単かもしれないがyは難しいと思う)

boxplot

正解はこれ。xが一様分布、yが正規分布を二つあわせてbimodalにした分布、zが正規分布ですね。

x <- runif(200,min=-2,max=2)
y <- c(rnorm(100,mean=-1,sd=0.5),rnorm(100,mean=1,sd=0.5))
z <- rnorm(200,mean=0,sd=1)

Boxplotが密度を表現してないのが問題なのだが、これはBeanplotで解決できる。密度の形がさやみたいで、中のスキャッタープロットが豆みたいなのでBeanplotと名付けたらしい。

元のBoxplotを左に、Beanplotを右に並べてみた。

boxplot

library(beanplot)
g <- rnorm(200,mean=0,sd=1)
bm <- c(rnorm(100,mean=-1,sd=0.5),rnorm(100,mean=1,sd=0.5))
uni <- runif(200,min=-2,max=2)
d = data.frame(uni=uni,bm=bm,gaus=g)
par(mfrow = c(1,2))
boxplot(d, col = "lightblue")
beanplot(d, col = "lightpink")

この例では対称なプロットになっているが、左と右で群を変えて非対称なプロットもできる。

R

2011/04/07 20:12:12

Rパッケージガイドブック

CPANといいCRANといいパッケージガイドが立て続けにでますな。

ProductName Rパッケージガイドブック
岡田 昌史
東京図書 / 3990円 ( 2011-04-09 )


ProductName Perl CPANモジュールガイド
冨田尚樹
ワークスコーポレーション / 2730円 ( 2011-04-08 )


このながれでPyPIやHackageも出ないかなぁ

2011/03/24 05:08:19

R Cookbook

欲しい!最近はR使ってないけど。

ProductName R Cookbook
Paul Teetor
Oreilly & Associates Inc / 3413円 ( 2011-03-28 )


来週になったら所属が変わって「パソコンの電源を入れたり消したりするだけの簡単なオシゴトをするおじさん達」と一緒になるのだけど、まぁ、当然今やっている仕事はそのまま持っていくという話なので、給料据え置きでインフラまわりの仕事を上乗せされるだけなんだろうなぁ。チームごと移しているからそういう意図はビシビシと感じられるが、ここは空気を読まずに「給料上がんないってことはもちろんゼロサムですよね」という精神で明るくやっていこうと思う。

ちなみに今の上司は、(外資出身に総入れ替えしたという事情もあって)みなさん優秀で、僕も色々新しい事を学べて大変よかった。

R

2011/01/19 05:28:53

Rによるバイオインフォマティクスデータ解析 第2版 -Bioconductorを用いたゲノムスケールのデータマイニング

献本ありがとうございます

内容はバイオインフォマティクスに限らずに割と広い内容をカバーした感じで、クックブックと逆引きの中間的なスタイルと言えば良いのだろうか?

Rのインストールから基本的な操作は(大体どの本にもあるように)載っていて

データマイニングとしては

  • PCA
  • ICA
  • PLS
  • MDS
  • SPE
  • k-means,Fuzzy cmeans
  • spectral clustering
  • NMF
  • SOM
  • decision tree
  • kNN
  • SVM
  • RF
  • LASSO
  • MARS

がサンプルコードとともに簡潔に説明されている。

8章はバイオ系データの解析、チップとか。odesolveを利用したシミュレーションのサンプルもあって、SBMLRは面白そうだなぁと思った。メカニズムがどうなっているのかはモデルと実験系の不一致をよく突き詰めて考えることでしかきちんとした理解は得られないと思っている。

最後のほうの章は統合環境、データベースの連携、サーバー構築あたりの話。

あと、twitteRを使って生体組織名をつぶやくとその組織の図が返ってくるという例が載ってた。ちなみにRでもPitがあります。

2010/12/21 21:02:28

Rで富士山関数

富士山をプロットする関数をみかけたので、Rで描いてみた。

fx <- function(x){x^4-x^2+6}
sfx <- function(x){12/(abs(x)+1)}
gx <- function(x){1/2*cos(6*x)+7/2}

plot(gx,-2,2,xlim=c(-7,7),ylim=c(0,7),xlab="",ylab="")
par(new=T)
plot(sfx,-7,-1,xlim=c(-7,7),ylim=c(0,7),axes=F,xlab="",ylab="")
par(new=T)
plot(sfx,1,7,xlim=c(-7,7),ylim=c(0,7),axes=F,xlab="",ylab="")
par(new=T)
plot(fx,-1,1,xlim=c(-7,7),ylim=c(0,7),axes=F,xlab="",ylab="")

fujisan plot

ggplotで関数だけ描く方法わからんなぁとつぶやいたら、教えてもらったのでggplot2でも描いた。

gx <- function(x){
x[-2>x | x>2] <-NA
1/2*cos(6*x)+7/2
}

fx <- function(x){
x[x<(-1)] <- NA
x[x>1] <- NA
x^4-x^2+6
}

fx <- function(x){
x[-1<x & x<1] <-NA
12/(abs(x)+1)
}

ggplot(data.frame(x=c(-7,7),y=0), aes(x,y))+stat_function(fun=gx) \
+stat_function(fun=fx)+stat_function(fun=sx)

fujisan plot

ggplot2だと線がうまくつながらなかった。

ProductName Ggplot2: Elegant Graphics for Data Analysis (Use R!)
Hadley Wickham
Springer-Verlag New York Inc (C) / ¥ 5,259 ( 2009-08-30 )


2010/11/22 20:56:06

drc

dose-responseカーブのあてはめをしたり、解析をしたりするためのdrcというパッケージを触ってみたのでメモ。

ryegrass(イネ科の牧草)におけるフェルラ酸の効果を調べたというデータを4パラメータのlog-logistic functionであてはめる。

ryegrass.m1<-drm(ryegrass, fct = LL.4())
plot(ryegrass.m1)

plot

R

2010/11/03 08:07:16

ネットワーク分析 (Rで学ぶデータサイエンス 8)

Rでのネットワーク分析用ライブラリの使い方が知りたい場合には良い本。snaigraphの使い方がまとまっている。

第3章の「ネットワーク構造の諸指標」(密度、推移性、相互性)と第4章の「中心性」は役に立った。

ProductName ネットワーク分析 (Rで学ぶデータサイエンス 8)
鈴木 努
共立出版 / ¥ 3,465 ()
在庫あり。

いちおう、どういう場合にその手法が必要になるのかといったことをさらっと載せてからigraph,snaのサンプルコードを載せているが、本書はRの使い方がメインなので、特定の分野用のネットワーク分析の本もあわせて読んだほうがいいと思う。

R

2010/08/18 17:39:07

igraphでクリーク探索

igraphはRとPythonのbindingがあるのにチュートリアルがほとんどなさげなので、ネットワーク分析の本があると手っ取り早く知れて良い。

ProductName ネットワーク分析 (Rで学ぶデータサイエンス 8)
鈴木 努
共立出版 / ¥ 3,465 ()
在庫あり。

クリーク探索

こんなネットワークからクリークを探してみる

cliquetest

g <-matrix(c(0,1,1,0,1,0,0,1,0,1,0,0,0,1,1,1,0,1,1,1,0,0,
             0,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,0,0,1,
             0,1,0,0,0),nrow=7,ncol=7,byrow=TRUE) 
a <- graph.adjacency(g)
maximal.cliques(a)
[[1]]
[1] 0 1 2

[[2]]
[1] 1 6

[[3]]
[1] 0 2 4

[[4]]
[1] 2 3 4 5

[[5]]
[1] 3 6

追記 100818

Pythonの場合

a = [[0,1,1,0,1,0,0],
[1,0,1,0,0,0,1],
[1,1,0,1,1,1,0],
[0,0,1,0,1,1,1],
[1,0,1,1,0,1,0],
[0,0,1,1,1,0,0],
[0,1,0,1,0,0,0]]

g = GraphBase.Adjacency(a,mode=ADJ_UNDIRECTED)
g.maximal_cliques() # [(0, 1, 2), (1, 6), (0, 2, 4), (2, 3, 4, 5), (3, 6)]
g.largest_cliques() # [(2, 3, 4, 5)]