2012年11月12日月曜日

日報

大きな仕事が入ってきた。ちょっとデータ的にも1000以上あるので計画を立ててから解析しよう。
研究も少しだけ進めた。毎日少しずつでも勧める。足踏みでもいいから。
疫学について勉強する必要がありそうだ。
入る前とは少し違うイメージ。ただそれも求められるならやりましょう。

以上。

並べ替える時はsortをいきなり使わないように。

データをソートするときは、sortを用いるのではなく、一度orderで順位を確認したあと、それを用いてソートする癖をつけよう。

そうでないと、2変量以上の時データがぐちゃぐちゃになってよくわからなくなる。

分割表で0のセルがあるとRcmdrでは解析できない。

Rコマンダでは背景因子の分析をするときに2*2で0のセルが一つ以上あれば解析できない。

多分内部ではchisq.testを使っているからだと思うが、医学のデータではかなり少数の検討をしなければならないこともあり、0のセルがあってもやるしかないこともある。

その時はコマンドfisherを使ってやるべきなのだが、僕がいつも使っているfisherというものは群馬大学の青木先生という方が作って公開しているもので、このページにかいている。
http://aoki2.si.gunma-u.ac.jp/R/fisher.html

ここの


source("http://aoki2.si.gunma-u.ac.jp/R/src/fisher.R", encoding="euc-jp")

という1分をRの画面に貼り付ければ出来る。(RコマンダではなくRコマンダではなく本体)

そして

x <- matrix(c(50,30,20,40), byrow=TRUE, ncol=2)
fisher(x)

とすれば計算してくれる。

xは行列、ここでは2*2の分割表を指定する。

byrowってのは行を優先してください。

ncol=2というのは列は2までにしてください。ってこと。


数字をc()で囲んでいるのはおまじないとして覚えてください。

あと、もしかするとfisher(x)とするとエラーが出てしまう可能性があります。

大概の場合そのエラーの文章をコピーしてgoogle先生に見てもらうと同じエラーを起こしている人がかならずいます。

確認してみてください。

2012年11月7日水曜日

file.choose()

file.choose()
と打てば、Office系の開くと同じように対話的にファイルを選ぶことが出来るようになる。
ただ、このコマンドのみでファイルを選んでもそのファイルの絶対パスを読みこんでくれるだけなので、本来は、

read.table(file.choose(),header=T)

などとして使うことが多い。もちろんread.csvでも可能。

dat1<-read.table(file.choose(),header=T)

などとして

head(dat1)
summary(dat1)

などを確認していくのがよい。

2012年11月6日火曜日

ちゃんとかこう。

昨日書いてる記事でもなにかいてるかわけわかんないところがあるので、人に読んでもらうことを意識することにする。

自分だけわかればいいならオフラインの日記でもいいはず。

2012年11月5日月曜日

カプランマイヤー

データは何が起こるかわからないので、エクセルで作った場合でも最終的に値で貼り付け。

そして、日本語は取り除く方がよい。

変数に名前をつける癖は作ってるほうが良い。

膨大であればあるほど。

また出来ればいつも同じディレクトリでやるようにした方がいいが、それを意識するのが煩わしいと感じる人もいる。(そもそも自分がどこのディレクトリで作業するかはwindowsでは気にしないことが多い)

そのため、クリップボードからコピーするとき以外は、

read.csv(file.choose(),header=T)

を使うべきである。

そのままカプランマイヤーを書く場合は

library(survival)

で関数を呼び出し、(ないと言われればネットにつなげた状態でinstall.packages(survival)をやる。)

plot(survfit(Surv(time,event)~group,data=data),main=c(""),xlab=...)

という感じで。(Survの引数この順番だったかな・・・)

カプランマイヤーの拡張はまた質問された時にでもまとめます。

Bayesian continuous reassessment method (CRM) designs for Phase I dose escalation trials.

Rに既に実装済み。

bcrmという関数なので。
教科書通り、ネットにつながっている状態で

install.packages("bcrm")
library(bcrm)

で完了。
色々オプションがあるが、わからない人は使わないほうがいいので、これ以上はまとめない。

どうしても使いたければ統計家に。