2012-05-01から1ヶ月間の記事一覧
「データセットについてのメモ」の中で,table 関数を使うたびに分析で使う変数と ケースの subset を作っている。少なくとも,変数の subset を毎回作る必要はない。また,3次元以上の集計表を第3次元ごとに繰り返している。で、35歳で層別化して出産回数と…
「data.frameのrbindにはみんな苦労しているようだ」で紹介されている関数 以下のように作ると,コンパクトにまとまった rbind3 <- function(lst) { nr <- sapply(lst, nrow) end <- cumsum(nr) start <- c(0, end[-length(lst)])+1 names <- unique(c(sappl…
「推計学のすすめ」メモ 3.1 ゴルファーの腕比べの話 ―平均値の差の検定― (符号検定とt検定) でちょっと誤解が >「対応がある」だとか「等分散である」といったパラメータを設定して行う検定はパラメトリックな方法と呼ばれる。一方、これらを設定しないで行…
> 誰にもわからないかどうかもわからないので少し他の人の回答まってみます。> いろいろあるみたいです。たとえば、札幌R勉強会とかあるみたいですが、情報ご存知のかた、教えてください。 この質問者は,ほかにもかなりとんちんかんな投稿をしている。 無視…
「Rコードの最適化例:混合正規乱数の発生コード」 にあるんだが,なんだかなあ結局 N1 に従う乱数の個数 n1 が決まれば良いと喝破(なるほど)rmixnorm3 <- function(n, p1, N1, N2) { n1 <- sum(runif(n) < p1) c( N1[2]*rnorm(n1) + N1[1], N2[2]*rnorm(n-n…
これも同じく,本家 Rjpwiki の「Rコード最適化のコツと実例集」にあるのだけど。。。みんな~,騙されるんじゃないぞ~!> 永続付値(他の環境中の変数への付値)は手間がかかる。遠くの x よりも近くの x> > > test1 <- function(){x <- runif(10000)} # 自…
これも同じく,本家 Rjpwiki の「Rコード最適化のコツと実例集」にあるのだけど。。。みんな~,騙されるんじゃあね~ぞ~!> 既存変数を再利用(変数の構造・サイズが変わる場合はどうかはわかりません)。環境にやさしい資源リサイクル> > > test1 <- functio…
本家 Rjpwiki の「Rコード最適化のコツと実例集」にあるのだけど。。。みんな~,騙されるんじゃないぞ~!> 変数初期化のコツ。同一のベクトル、配列変数を全要素 0 で繰返し初期化する(良くあること)場合、既存の同じサイズの変数に 0 を掛ければ済む。x-x …
> x <- runif(100000000)> y <- runif(100000000)> z <- runif(100000000)> ## 最初のものより二番目の方が速い> # 割り算2つよりは掛け算と割り算一つずつが得> system.time(x/y/z) ユーザ システム 経過 1.719 0.420 2.129 > system.time(x/(y*z)) ユーザ …
いくつかの場合について実測してみた > y <- runif(100000000)> # 2倍するのと足し算の差はない> system.time(2*y) ユーザ システム 経過 0.458 0.594 1.054 > system.time(y+y) ユーザ システム 経過 0.435 0.551 0.979 > # 2乗と掛け算の差はない> system.…
どこぞにやらあるプログラム。プログラムの最適化(高速度化)を目指した結果の報告。 num_steps <- 10000000step <- 1.0 / num_stepssumm <- 0for (i in 1:num_steps) { x <- (i-0.5) * step summ <- summ + 4.0 / (1.0 + x * x)}PI <- step * summprint(PI…
http://r4stats.com/2012/05/09/beginning-of-the-end/ にあるグラフ。 何となく受けのよい ggplot によるもので,R をひいきする身としては好ましいグラフかも知れないが,統計グラフとしてみればとても合格点の付けられるようなものではない。 ggplot のデ…
どこぞやらにあるプログラム。指数分布とポアソン分布の関係を示そうとするシミュレーション・プログラムだ。 毎回1個ずつ乱数を発生させるのはもったいない。かといって,毎回何個発生させるのがベストなのか。取りあえずほどほどの個数を発生させておいて…
だいぶ前に見つけて,忘れてしまっていたのを再発見したので記録。 > x <- data.frame(a=sample(3, 100, rep=T), b=sample(2, 100, rep=T), c=sample(3, 100, rep=T))> summary(xtabs(~., data=x))Call: xtabs(formula = ~., data = x)Number of cases in ta…