Triad sou.

R

第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…

高速 tapply(X, INDEX, var) もどき関数

R

関数を作ってみました。 HS.tapply <- function(x, index, type) { # create index indicate matrix index <- as.numeric(factor(index)) mindex <- NULL for(i in 1:length(unique(index))) { mindex <- cbind(mindex, index-(i-1)) } if (type == 5 || typ…

apply関数は遅かった・・・

R

うーん、こりゃ参ったねw n <- 20 rep <- 100000 d <- matrix(rnorm(n*rep), nrow=n, ncol=rep ) # apply Rprof() varA <- apply(d, 2, var) Rprof(NULL) print(a <- summaryRprof()$sampling.time) # matrix operation (1) Rprof() varB <- NULL for(i in …

Satterthwaiteの近似 (2)

前回書いた結果をもとにして、ちゃんと近似できているのか試してみることにしました。 今回は Welch (1938) の (2) 式の統計量 \[ v=\frac{\bar{X}_1-\bar{X}_2}{\sqrt{\frac{V_1}{n_1}+\frac{V_2}{n_2}}} \] を導出する過程で出てくる分布の近似を考えてみ…

apply系関数中で実行進捗状況を出力

R

シミュレーション中に進捗状況を監視。 path <- "C:/"; set.seed(091021) r <- 20 m <- c(0, 0, 0.3) s <- c(.1, .1, .1) n <- c(10, 10, 10) d <- do.call("rbind", mapply(function(n, m, s) matrix(rnorm(r * n, mean = m, sd = s), nrow=n, ncol=r), n, …

箱形に乱数を生成する

R

Rでシミュレーションを行おうと思って、「群変数が共通で、データを乱数として r セット生成する」スクリプトをループを使わずに書こうと思ったら、なかなかうまくいかない。 ↑を逆(「データが共通で、群変数を乱数として r セット生成する」)にするとリサン…

mtext関数でフォントを混在させる

R

通常フォントファミリーで指定してしまうので、フォントを混在させることはあまりありません。 mtext関数を駆使する事で、複数のフォントを使ってグラフを作成することができます。 postscript出力では未チェックですが、Windows環境でemf出力するか、ビット…