このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

R言語

サンプルのデータセット

datasetsというパッケージが最初から読み込まれている。 > data() 別ウィンドウで表示。 library(help = "datasets") でも同じ。一覧が出るんで、名前を選ぶとデータが出る。 > Titanic データはデータフレーム、テーブル、マトリックスなど。後は適当に処理…

Lサフィックス

整数値を表すのにLを使う。なんでLだ? とは誰でも思うだろう。 http://stackoverflow.com/questions/24350733/why-would-r-use-the-l-suffix-to-denote-an-integer

相関係数とか、使い方は大丈夫か?

「2つの変数の相関は?」というとき、2つの変数の値が同じ空間で、定義域(個体識別子の集合)も同じなら、同じベクトル空間内で角度を測るので意味を持つが、身長と体重の相関とか年齢と体力の相関とか、どう考えるのだ? 異なる2つのユークリッドベクトル…

分散、共分散、相関係数などの背景

データフレームで、df[i, ] でi番目の個体(あるいは観測)のタプルが得られる。このタプル(ベクトル変数の具現値)をベクトル空間の要素と見てよいが、df[ , k] もベクトルと見る必要がある。df[ , k]はRのデータ構造としてもベクトルだが、意味的にもベク…

思いつき例題

後で確認してみるが、とりあえずメモ。先に、z-w空間内での計算 [P1, P2] = [(z1, w1), (z2, w2)] として、次の方程式を解く。 w2 + t*(w2 - w1) = 0 t = w1/(w1 - w2) s = z1 + (w1/(w1 - w2))*(z2 - z1)話は前後するが、座標変換の行列Tを定義する。 Tの成…

最初の障害とハマリ所

スカラーがない。長さ1のベクトルしかない。 とにかくリテラルがない。ベクトルでさえリテラルで書けない。キツイ。 ミュータブルなオブジェクトがない。S4, R5, R6か? 構造体的データがない。listで代用 行列の折り返し方向が逆(列優先) データフレーム…

長い引数リストの例

stat_bin <- function ( mapping = NULL, data = NULL, geom = "bar", position = "stack", width = 0.9, drop = FALSE, right = FALSE, binwidth = NULL, origin = NULL, breaks = NULL, ... ) { StatBin$new( mapping = mapping, data = data, geom = geom…

パッケージの操作

確認 .Library path.package() search() loadedNamespaces() library() packageVersion(名前) libray(helpe="名前"), help(package="名前") example(名前) vignette(名前) browseVignettes(名前) インストールと更新 istall.packages(名前) install.packages…

grid例

grid.rect(3/4, 5/8, 0.5, 0.25, gp=gpar(fill="pink")) grid.rect(3/4, 7/8, 0.5, 0.25, gp=gpar(fill="skyblue")) grid.grill() grid.lines( c(0.0, 1.0), c(0.5, 0.5)) grid.lines( c(0.5, 0.5), c(0.0, 1.0))

ggplot2の構造、部品機能が使えなくてもったいない

ggplot2の原理と機能性は素晴らしいが、ライブラリの作りとしては「どうなの」な点がある。モジュラー/コンポネント的に作ってあるのだけど、部品を単独で利用したり、部品の処理だけを確認することが出来ない。再利用可能部品もあるのに、隠蔽して閉じ込め…

関数リファレンスのいいかげんさと「...」

ggplot2のlayer関数、以下がすべて。 Create a new layer Description Create a new layer Usage layer(...)他の関数のリファレンスからlayerが参照されている(ブラケットで表記)。layerへのリンクをたどったときのガッカリ感は半端ない。 Usage geom_poin…

関数リファレンスのいいかげんさと謎仕様

こういうの(↓)がけっこう多い。情報量ゼロに近い。Rのgridパッケージの凄まじい座標系 - 檜山正幸のキマイラ飼育記 メモ編 も参照。 Description an ellipse grob Usage ellipseGrob(x, y, size = 1, angle = rep(pi/2, length(x)), ar = 1, gp = gpar(colou…

ESS設定

(setq ess-default-style 'DEFAULT) (ess-toggle-underscore nil) (setq ess-fancy-comments nil)

gridの例

簡易版・ボレルのパラドックスとその解釈:R言語を使って - 檜山正幸のキマイラ飼育記 で使った、gridによる描画。 # target-disk # grid.circle(x=0.5, y=0.5, r=0.5, gp=gpar(fill="skyblue")) grid.circle(x=0.5, y=0.5, r=0.5/3, gp=gpar(fill="red")) #…

S3, S4, R5, proto

ひどい話だ。 S3 S4 R5 proto typeof(x) 多くは"list" "S4" "S4" "environment" class(x) S3クラス名 S4クラス名 R5クラス名 "proto", "environment" attributes(x) 普通 オブジェクト構造 普通 classだけ names(x) メンバー列挙 NULL NULL NULL ls(x) メン…

ggplot2とproto

ggplot2内でprotoを使っているが、protoの有効範囲はggplot2の名前空間内に閉じ込められているようだ。require(proto)すると事情が違ってくる。protoパッケージをロードしている状態だと、protoオブジェクトxに対して x$class()関数が使えるようになる。仮想…

ggplot2のソースを読んで

ggplotオブジェクト: S3クラスのオブジェクト。実体はリスト。メンバー列挙はnames(p)、メンバアクセスは p$m layerオブジェクト: protoオブジェクト。実体は環境(environment)。メンバー列挙はls(lay)、メンバアクセスは lay$m statオブジェクト: prot…

ggplot2のスケール

プロットオブジェクトのscalesメンバーには、S4オブジェクト(への参照)が入っている。 S4オブジェクトのさらにscalesメンバーがあって、これはリスト。 それとは別にS3システムで書かれたscale_*関数群がある。 かなり混乱している。色々とツギハギな感じ…

ggplot2のソースを読んで

ggplotオブジェクト: S3クラスのオブジェクト。実体はリスト。メンバー列挙はnames(p)、メンバアクセスは p$m layerオブジェクト: protoオブジェクト。実体は環境(environment)。メンバー列挙はls(lay)、メンバアクセスは lay$m statオブジェクト: prot…

gridパッケージ ブータレ

showViewport(), showGrob()がイマイチわからない。戻す方法も分からない。gridTree()は元のウィンドウが消えてしまう。複数のウィンドウがあるとうまくいかないみたいだし。なんか役に立たない。

gridパッケージの用語

シーン(graphical scene):ビューポートとグロブからなるツリー・データ構造 ページ: 描画が実行される物理デバイス。dev.* で制御する。配置されたピクセルの集合。 ビューポート: 入れ子の親子関係を持てる矩形領域。ROOT以外は親ビューポートを持つ。…

bioconductorからのインストール

初めてbioconductorのライブラリをインストールした。 source("http://bioconductor.org/biocLite.R") biocLite("Rgraphviz") これで済む。biocLiteという関数を使うわけだ。簡単だ。入れたパッケージは、Rgraphviz。 http://www.bioconductor.org/packages/…

gridパッケージの例

Rのgridパッケージの凄まじい座標系 - 檜山正幸のキマイラ飼育記 メモ編 のような座標系で: library(grid) # 横幅は半分、高さは8割のビューポートを作って使う vp <- viewport(x=0.5, y=0.5, width=0.5, height=0.8) pushViewport(vp) # ビューポートに枠…

Rのgridパッケージの凄まじい座標系

デバイス矩形(ウィンドウの描画領域)とビューポート矩形(仮想的な四角)がある。いかなる場合でもデバイス矩形の座標値の範囲は 0≦x≦1, 0≦y≦1。これは矩形が正方形であることを意味しない。矩形の物理的なアスペクト比にあうように伸縮される。つまり、座…