Triad sou.

R

ggsave をいじって viewport で layout したファイルを保存してみよう

論文風な Kaplan-Meier plot を書いてみよう で試してみましたが、grid package の viewport を使うと、柔軟な感じにレイアウトを決めることができました。 普通に png や pdf でファイルを保存することもできますが、ggplot2 pacakge の ggsave が便利なの…

R 2.13.0 の OpenMP 関連 make マクロ

R

R 2.13.0 から OpenMP 用のマクロ SHLIB_OPENMP_CFLAGS SHLIB_OPENMP_CXXFLAGS SHLIB_OPENMP_FCFLAGS SHLIB_OPENMP_FFLAGS が Makevars ファイル中で使えるようになっていたらしい (Writing R Extensions)。パッケージの src ディレクトリ中に OpenMP に対応…

論文風な Kaplan-Meier plot を書いてみよう

追記 マウス操作のみで作図が可能な R commander 用プラグインが CRAN から利用できます! RcmdrPlugin.KMggplot2_0.1-0 is on CRAN now - Triad sou. テスト版 require(ggplot2) require(survival) `kmg2.theme_gray` <- function (base_size = 12, base_fa…

ggplot2 の geom_text() 関数で fontfamily をいじってみよう

ggplot2-0.9.x では修正済です require(ggplot2) t <- c("a", "b", "c") x <- c(1, 2, 3) y <- c(2, 2, 2) d <- data.frame(x, y, t) windowsFonts(serif = "Times New Roman") p <- ggplot(data = d, aes(x = x, y = y, label = t)) + geom_text(size = 16 …

グループ変数が沢山ある場合の統計量の計算

R

グループ変数が複数セットあり、測定値が 1 セットある様なデータに対して、標本平均、総和、標本分散、偏差平方和をたぶん高速に計算できる関数を作りました。 以前作った 高速 tapply(X, INDEX, var) もどき関数 (グループ変数が1セットで、測定値が複数セ…

R で OpenMP を使ってみよう

R

R で OpenMP を使って並列演算できるかどうか試してみたのでメモを書いておこうと思います。 まず、Windows 環境では、RTools (MinGW) で OpenMP が使えなさそう (Re: Missing libpthread in RTools) でした。 しかし、R devel - gomp library with Rtools21…

第5回 R ユーザ会に行ってきた

R

togetter Rユーザー会2010 初日 Professor Hadley Wickham の発表資料 Rユーザー会2010 二日目 Professor Uwe Ligges の発表資料 Rユーザー会2010 三日目 鈴木 了太 (株式会社ef-prime) 「Rによるデータ解析ツールの新提案」 R Analytic Flow。 SAS EG みた…

試作品 (ggplot2 を使った RcmdrPlugin) のファイル

追記 最新バージョン(R commander 用プラグイン) が CRAN から利用できます! RcmdrPlugin.KMggplot2_0.1-0 is on CRAN now - Triad sou. 旧バージョン RcmdrPlugin.KMggplot2_0.0-2.zip: Windows 用バイナリ (Dropbox) RcmdrPlugin.KMggplot2_0.0-2.tar.gz:…

試作品のつづき

R

Windows7 での動作確認のついでに、日本語切り替えを追加してみた。

試作品 (ggplot2 を使った RcmdrPlugin)

リリース板 最新バージョン(R commander 用プラグイン) が CRAN から利用できます! RcmdrPlugin.KMggplot2_0.1-0 is on CRAN now - Triad sou. RcmdrPlugin.KMggplot2_0.0-3 is on CRAN now - Triad sou. 試作品 ggplot2 を使った RcmdrPlugin を試作してみ…

Rユーザ会

R

2010年度 統計数理研究所共同研究集会 「データ解析環境Rの整備と利用」開催のお知らせ 2010年度の統計数理研究所共同研究集会「データ解析環境Rの整備と利用」 を、下記の日程で開催いたします。興味のある方は、ぜひご参加ください。 日程:2010年11月25日…

glm() でオッズ比と信頼区間を求める

R

基礎的すぎるから知らなかったのか confint(ModelName, level = 1-alpha) という関数があったらしい、プロファイル尤度に基づく信頼区間を計算できる (2012/6/19 記述を修正)。 d <- c( 1,1,1,1,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,0,0, 1,0,0,0,0,0,0,0,0,0, 1,1…

factor(cut()): 連続変数のカテゴリ化

R

set.seed(314159265) height <- rnorm(30, 170, 7) factor(cut(height, breaks = quantile(height, c(0, 0.25, 0.50, 0.75, 1)), include.lowest = TRUE)) [1] (175,181] (167,172] (167,172] (167,172] (167,172] [158,167] (175,181] (175,181] (167,172] …

ggplot2 日本語用テーマ

ggplot2-0.8.7 で、テーマ theme_gray() を日本語向けに直してみよう。 数ヶ月前に ggplot2 でフォントファミリー・サイズを変更できるようなテーマを作りました。 ggplot2 は当然英字出力で調整しているはずなので、日本語を含む場合はファミリーやサイズに…

単純モンテカルロ積分 (2)

今回も \[ \int_a^b f(x) \mathrm{d}x= \theta \] の様な積分値を推定する問題を考えます。このままでは $[0,\, 1]$ の一様乱数を利用できないので、 \[ x=a+(b-a)r \] \[ \frac{\mathrm{d}x}{\mathrm{d}r}=b-a \] \[ 0\leq r \leq 1 \] の置換積分を考えま…

単純モンテカルロ積分 (1)

単純モンテカルロ積分なんていう基礎的な事を復習してみました。自由度 $\nu=1$、分散共分散行列が \[ \mathbf{R}=\begin{pmatrix}1.0&0.7\\0.7&1.0\end{pmatrix} \] の 2 変量 $t$ 分布について、 \[ \int_{a_1}^{b_1}\int_{a_2}^{b_2}\mathrm{MVT}_2(t_1,\…

decimal / binary converter

R

十進数を二進数に変換する演算が必要になったので調べてみました。 wle package に binary() 関数というものがあり、そいつを少し弄ればよいことが分かった。 それだけではちょっとつまらなかったので、再帰を使って自分でも書いてみた。 # 再帰で書いた関数…

ggplot2 の自分用メモ集を作ろう

プロットの作製 基本プロットを作る Geoms Aesthetics 違う種類のグラフを重ねる 参照線の追加 グループ分け 層別プロット スケールと軸 Scales 軸ラベルやタイトルの変更 軸の表示範囲を変更する 軸の左右の余白を削除する 軸表示の修飾 日時の軸スケール …

ggplot2 の自分用メモ集を作ろう (古い内容)

古い記事を移動しました。 基本プロットを作る 基本的な手順は、 ggplot() にデータフレームと各軸や層に対応する変数名を指定する 書きたいグラフに対応する geom_XXX() を足す の二つが分かっていれば OK です。 これに加えて、統計処理をしてくれる stat_…

再帰による組み合わせ列の生成; {0, 1} の場合

R

[1] の文献をかなり参考にさせていただきました。 少し修正して、配列を演算に使えるようにしています。 でも、かなり小標本じゃないと使えないですよねぇ。 shuffer <- function(n, m) { m <- as.integer(m) n <- as.integer(n) if (m > n) { tmp <- m; m <…

clogit() 関数の注意点

R

R の survival package には、条件付きロジスティック回帰分析を行うための clogit() 関数なるものがあります。 最近この関数を使っていて、ちょっと気づいた点がありましたので、メモを残しておこうと思います。 method="approximate" は危ない clogit() 関…

ggplot2 package でカラーパターンの変更

scale_colour_manual を使う事で、ggplot2 で用いられる色のパターンを自分で設定出来るらしいです。 library(ggplot2) colours <- c("#D92121", "#9999FF", "#D92121", "#21D921", "#FFFF4D", "#FF9326") d <- data.frame( ID = floor(seq(1, 6 + 7/8, by =…

R で bootstrap method を実装してみよう

R

高速 tapply(X, INDEX, var) もどき関数 を作ったときに、簡単な実装を考えていたのでまとめてみます。 xxx.test <- function(d, g) { n <- as.numeric(table(g)) index <- as.numeric(factor(g)) mindex <- NULL for(i in 1:length(unique(index))) { minde…

ヘルプファイル形式の変更

R

R 2.10.x にも大分慣れましたが、ヘルプファイルの形式が text (R 画面内に出てくるやつ) だったので、 html に切り替えました。 よく忘れてしまうので、またメモ。 options(help_type="html") これを、".Rprofile" にでも入れておけばいいみたいです。 ".Rp…

ggplot2 package で Kaplan-Meier plot + フォントファミリーを変更する方法

ggplot2 は非常に良いパッケージですね、R をグラフィックスで推すときに、説得力のある実例になるんじゃないかと思いました。 Kaplan-Meier plot の実装例がない様なので、自作してみました。 かなり整理されていなくて申し訳ないのですが、 library(ggplot…

R の高速化

R

RjpWiki (REvolutionR は連邦の新型か) を読んでちょっと触ってみました。 環境は、CPU: Core 2 Duo E8400 (3.0 GHz), Memory: 3.3 GB, Windows XP 32bit SP3。 R-benchmark-25.R を5回ずつ実行してみた。 R-org: R-2.10.0 デフォルト ATLAS: ATLAS (C2D, CR…

よく使うパッケージをローカルから一括インストール

R

パッケージ情報が定義してあるPACKAGESファイルと、必要なパッケージファイルを同じディレクトリに配置しておきます。 上のファイル群は、同じタイミングでダウンロードしておかないと、バージョンがずれて失敗するので最悪手で修正します。 Rってパッケージ…

平均値の折れ線グラフにヒゲを付ける

R

あまり好きなグラフではないのですが、axis 関数を使って各時点のサンプルサイズを付加する事ができるようなので、やってみました。 Rには gplots::plotmeans と Rcmdr::plotMeans という関数がありますが、一部のグラフオプションが使えなかったりするので…

プロキシサーバーを経由して Rcmd check を実行する方法

R

パッケージをもりもり作っていたら、 * checking Rd cross-references ...が表示されたまま止まってしまう。 自分の環境だと何故か Sys.setenv( ) 関数を .Rprofile に書いておいても働いてくれない、これも不思議。 しょうがないので check.pl の240行目ぐ…

R commanderをローカルからインストールする場合の注意

R

Rcmdr package自体のインストールは、car packageを追加した上で、「ローカルから...」を選べばよいので簡単でした。 しかし、Rcmdrの初回起動時に、依存関係があるパッケージをディレクトリを指定して一括でインストールする画面がでます。 ここで、 must i…