算額あれこれ

算額問題をコンピュータで解きます

2011-12-01から1ヶ月間の記事一覧

R 用の indent 変換例 1

# 同一染色体上にある多型の数Ns Ns<-4 # Ns個のマーカーのそれぞれのアレルの数をNaS NaS<-c(3,4,5,2) # アレル頻度をPaS PaS<-list() for(i in 1:Ns){ PaSi<-c(rdirichlet(1,rep(1,NaS[i]))) } NaS PaS hap1<-hap2<-rep(0,Ns) for(i in 1:Ns){ hap1[i]<-sa…

あまりにも。。。

> legend(x=par()$usr[2],y=par()$usr[4],legend=colnames(dat),pch=22,lty=0,xjust=-.1+ ,pt.bg=cm.colors(3),col=1:3,pt.cex=2,x.intersp=2,y.intersp=1.5,title="xpd=TRUE")プログラムの2行目以降(継続行)が "," で始まるというスタイルは,見たことが…

Sewave-14

figure チャンクを使って図を挿入するのは記述が面倒くさい。そこで,以下のような関数を作っておき,results=tex を使って作図した結果を挿入する。 xfigure <- function(src, fn, caption="", label=fn, size=320, width=6, height=6, mgp=c(1.8, 0.6, 0),…

ダメ出し:if 文

if 文 というタイトルのついたページ 例を挙げているのだから,揚げ足取ってもしようがないのだけど,パズルとして 以下のようなものは, > set.seed(123) > x <- sample(9,12,replace=TRUE) > x <- matrix(x,nrow=2,dimnames=list(1:2,letters[1:6])) > for…

ダメ出し:散布図に記号を使うときは大きさの指定に注意すべし

変わった散布図 symbol 関数,そして引数 pch について少し にて > x <- cbind("a"=1:5,"b"=5:1,"c"=6:10,"d"=10:6,"e"=sample(10,5)/10) > symbols(x[,1:2],circles=x[,1]/10,inches=FALSE,main="circles")散布図において,半径(直径)が度数を表すように…

ダメ出し:ダイナマイトプロット

棒グラフのいろいろ・その2 にて ここに示されているようなグラフを,ダイナマイトプロットと呼ぶ。描いてはいけないグラフの一つ。 なお,グラフを jpeg デバイスで描くのもどうかと思う。せめて png で描こう。 また,プログラムで,カンマの後に空白がな…

ダメ出し:truehist ??

ヒストグラムと箱髭図 にて > truehist関数は総面積が1に基準化されるので、縦軸が異なります。 というのはうそ。freq=FALSE にすれば同じこと。 一番違うのは,hist では right=TRUE がデフォルトになっていて,一般常識と異なる点(事実,リンク先のページ…

ダメ出し:行列の回転

image関数でイメージする(R Advent Calenderの番がきた) にて > (x <- matrix(1:12,ncol=3)) [,1] [,2] [,3][1,] 1 5 9[2,] 2 6 10[3,] 3 7 11[4,] 4 8 12> (y <- t(x[nrow(x):1,ncol(x):1])[ncol(x):1,]) [,1] [,2] [,3] [,4][1,] 4 3 2 1[2,] 8 7 6 5[3,] …

Sweave-13

Sweave-12 で書いた ae フォントを使うかどうかの件 やはり,困るという人もいるようで,マニュアルにちゃんと記載がある。 ‘Sweave.sty’ also supports the [noae] option, which suppresses the use of the ae package, the use of which may interfere wi…

マクネマー検定

「マクネマー検定についてのページ」で epibasix パッケージに mcNemar 関数があるのを知った。しかし,この関数の実装は余り良くない。 (1) P 値が 0.001 より小さい場合, McNemar's Chi^2 Statistic (corrected for continuity) = 12.345 which has a p-v…

Sweave-12

Sweave で作った pdf と,LaTeX だけで作った pdf を比べて,前者と後者のフォントの大きさ(当然ながら,版面の大きさとか行当たりの文字数など)が異なることに気づいた。LaTeX のソースに \usepackage{Sweave} を加えるだけで,変になることがわかった。 …

ダメ出し:apply関数は遅かった・・・

apply関数は遅かった・・・ 確かに apply は遅い。その代わりに colMeans, rowSums を使って定義通りに書くと,ヘタに行列演算するより速い。colMeans, rowSums を使って書いたものと,結果の格納領域を事前に確保して行列演算をするのは,ほとんど同じくら…

ダメ出し:例題をやってみる その2

今回は,R プログラミングではなく,統計学の方でダメ出し例題をやってみる その2 で,> ここでは、抗生物質を使うとプラセボより感染率は小さくなるはずだ、という期待が込められているので片側検定を行なっていると思われる。のに> (ここではカイ二乗検定…

ダメ出し:例題をやってみる その1の続き ブートストラップ法

相変わらず,「空白などという無駄なものは置くものか」という,読む気のしないグッチャリプログラム 元のプログラムは 98 秒かかる(作者の環境では 3 分ぐらいかかるそうだ)が, pvalue <- sum(apply(boot, 1, mean) > 37)/l を pvalue <- sum(rowMeans(b…