読者です 読者をやめる 読者になる 読者になる

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

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出力するか、ビット…

plotmath package

R

expression()関数中で書体の切り替えができたらしい、何で今まで気づかなかったんだろう・・・。 plain(x) draw x in normal font bold(x) draw x in bold font italic(x) draw x in italic font bolditalic(x) draw x in bolditalic font 他の基本的な数学…

epsファイル出力でType1フォントを使う

R

正しいのかどうか分かりませんが、一応できたのでメモっておきます。 URW Garamondを使ってみよう。 まず、Rをインストールしたディレクトリの中の /R/R-X.X.X/library/grDevices/afm に使いたいフォントのafmファイルを一つずつgzファイルにしてからコピー…

plot関数で参照線を引く方法の補足? (panel.first)

R

barplotでやると盛大にはみ出ます・・・ Ety <- function(y) { n <- 20 return( (y+1)/(n+2) ) } par(mar=c(3.2, 3.2, 1.5, 0.5), mgp=c(2.0, 0.7, 0)) par(bty="l") names <- replace(seq(0, 20), which(seq(0, 20) %% 5 != 0), NA) barplot( Ety(seq(0,20)…

plot関数で参照線を引く方法 (panel.first)

R

plot()→abline()などで参照線を引くと、参照線のはずなのにグラフの線より前に表示されてしまう。 なので、panel.firstオプションを使うと、参照線→グラフ線の順に描画してくれる。 xx <- runif(100) yy <- runif(100) par(mar=c(3.2, 3.2, 1.5, 0.5), mgp=c…

グラフの軸ラベルの位置 mgp

R

Rのデフォルトだとちょっと軸ラベルが離れすぎているし、余白も多めなので調べてみた。 グラフィックスパラメータの mpg で、軸ラベル・軸目盛・軸線のバランスを整える事ができる様だ。 ヘルプには以下のような感じに記述してあった。 軸からラベル、軸から…

Rscriptとバッチファイル

R

Rでもバッチ実行ディレクトリにファイルを保存したかったので調べてみた。 Rscriptを使うと出来るようだ。 Rscript [--options] [-e expr] inputfile [args]のように、argsを引数として渡すことができる。 Rscript -e "commandArgs(); proc.time()" arg1 arg…

pngでフォントを変える

R

Windowsにインストールされているフォントを適当に指定してfamilyとして定義すると使えるようになるみたい。 windowsFonts(Times="Times New Roman") par(family="Times") 定義済みのフォントは windowsFonts() で表示される。 n <- 30 y <- 2 Bin <- functi…

ラプラス近似 (3)

不完全ベータ関数の近似はまとめるほど理解できなかったので、また時間があるときにやろう。 今日はラプラス近似が何をしてるかを少しグラフィカルに検討した。 \[ \int_{\mathbf b\in R^q}\exp\{h(\mathbf b)\}d\mathbf b \simeq \exp\{h(\hat{\mathbf b})\…

R グラフのepsファイル出力とフォント指定

R

メモが目的なので要点だけ。 dev.copy2eps()だと何故かうまくいかなかったので、postscript()を使った。 postscript( file="c:/test.eps", width = 9, height = 9, horizontal = FALSE, onefile = FALSE, paper = "special", family="AvantGarde" ) family="…

Rのadapt package

R

2〜20次元関数のAdaptive Quadrature(適応的求積法)ができるパッケージ。 library(adapt) # Example of p - dimensional normal distribution mu <- rbind(c(0, 0, 0)) sigma <- rbind(c(1, 0, 0), c(0, 1, 0), c(0, 0, 1)) pdfnm <- function(z) { 1 / ( (2…