「さらば、p値」 p値とエフェクトサイズと信頼区間
Twitterでフォローしていつも勉強させていただいている先生のtweetで印象深いものがあったので、引用させていただきます。
さらば、P値。理由は再現性の欠如。サンプルサイズがよほど巨大でもない限り、たとえ同様の研究を繰り返したところで、得られるP値はばらばら。http://t.co/ceKEF1Nb2I
— kouta ito (@itokouta) 2015年3月15日
続きを読む元文献はNature Methods。注目すべきは、エフェクトサイズと95%信頼区間。差異の有無ではなく、差異の大きさ。http://t.co/KoHvdiKVaA
— kouta ito (@itokouta) 2015年3月15日
多重検定
0. はじめに
今回の記事では多重検定について調べてまとめたことを中心に書いていきます。多重検定については下記の2つのサイトが大変わかりやすく、参考にさせていただきました。
Bonferroni法、Holm法、False Discovery Rate | 大阪大学腎臓内科
www.slideshare.net 続きを読む
LEfSeを実際にやってみる
実際にやってみる
biobakery / biobakery / wiki / lefse — Bitbucket
サンプルファイルをsample input fileからダウンロードします。なぜか名前が129になっているので注意して下さい。このファイルの概要を書いておくと。
続きを読む
bioBakeryのインストール
はじめに
こちらのマニュアルを参考に進めていきます。
必要なソフトのインストール
1. VirtualBox
VirtualBoxをインストールします。リンク先から.pkgファイルをダウンロードしてダブルクリックします。VirtualBoxは無料の仮想化ソフトです。自分の中にまた別のOS環境を構築することができます。
2. Vagrant
Vagrantをインストールします。これもリンク先から.pkgファイル -> ダブルクリックでOKです。Vagrantに関してはまったく知りませんでしたのでQiitaから引用します。難しいのですが便利そうなのはよくわかりました。 qiita.com
これはなに?
仮想マシン(以下 "VM")を動かす仮想化ソフトの超すごいラッパーツール。 VirtualBoxなどの仮想化ソフトの操作を、ものすごく親切に代行してくれます。 VMの構成を Vagrantfile というテキストに記述してVagrantに任せることで、ネットワークドライバの設定などを意識すること無く、ホスト環境に依存しない形で整備してもらえます。
なにに使う?
ゲストOSがインストールされたVMを整備するのに使います。 Vagrant Cloud にあらかじめ用意されている「box」というVMイメージを指定してコマンドを実行するだけで、OSインストール済みのVMを作成し、ネットワーク設定やSSH環境の整備までやってくれます。 また、VMの構成内容を Vagrantfile というテキストファイルとしてコード化できます。
具体的に何がどう楽になる?
VMの構成を Vagrantfile に記述して vagrant up コマンドを実行するだけで、すぐに完全な環境を整備できます。 VirtualBoxでVMを作って、GuestAdditionsを入れて、ゲストOSをダウンロード&インストールして、sshdを立てて、SSHでログインして、ミドルウェアを入れて…といった大変な作業がバッサリカットできます。
bioBakeryをダウンロードして開く
コチラからダウンロードします。.tar.gzファイルを開くとフォルダの中にMacOSの場合は"start_biobakery.command"というファイルがありますので、これをterminalから開きます。するとインストールが始まりますが、かなり時間がかかるので心して行って下さい。6GBくらいの容量の余裕があった方がいいと思われます。
日本のダブルスペース、海外のダブルスペース
はじめに
Facebookでとある先生が「日本のダブルスペースの設定と海外のダブルスペースの設定が違うことを知らない人が多い」という旨の投稿をしたのが友人経由で流れてきました。正直、寝耳に水でした。
これはと思い、一流誌に載った論文を多数持つラボのボスにも確認したところ、予想に反して「何それ?でも気にしたことないよ」とのこと。そうなんです。結局、論文で「枚数制限」がかかることはあまりなく、どちらかというと「字数制限」なのでほとんどは体裁が違ってもスルーされているようです。
ただ、今とあるcase reportを書いているのですが、投稿しようとしている雑誌がCase reportに限っては「ダブルスペースで8枚まで」という制限が付いていたのです。ダブルスペースの設定が違うのならば、1枚に収まる行数が異なり、書ける量が大幅に違ってきます。というわけで、いろいろと調べてみて自分なりの答えを出したので、記事にしておきます。正しいかどうかは確証はありませんが…。
いろいろ調べてみた
ダブルスペースに関する記事が意外と少ないのですが、ダブルスペースの定義とは、どうやらタイプライター用語で「1行の文章に2行分の場所 ( スペース ) を確保すること」のようです。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q112731516 detail.chiebukuro.yahoo.co.jp
Microsoft Wordでは、このダブルスペースの書式に文書を変更するには「Ctrl+2」のショートカットを使うだけで可能という記事が見つかります。
しかしこのダブルスペースの設定が間違っていて、日本独自の「ダブルスペース」の設定のようです。論文は基本的にはTimes New Roman 12ptで書くので「Ctrl+2」を押すと17行分の文章を書けることになります。初めてこの書式を見た時、いやースカスカだな?と思ったらこんな記事を見つけました。
引用すると
基本的に[ グリッド線 ]に合わせる設定は東アジア系の特徴であり、アメリカ版のような基本的仕様しかない場合には、このような設定はありません
と記載されております。
ではどうすれば、正しいダブルスペースの設定になるのか?
こちらの記事と上司からのコメントを参考にまとめてみました。
- 用紙サイズはレターサイズに:A4やB5は日本独自の規格で、海外ではletterが標準
- フォントはTimes New Romanの12pt
- Ctrl+Aで全文を選択→形式→段落→行間を「固定値」「24pt」
に設定すると、1枚に25行分の文章が書ける「正しいダブルスペース」の書式になると思います。この設定にしないといけないわけではなく、多少行間が広くても何か言われることはないとは思いますが、原稿に枚数制限があるときなどはきちんと設定しないといろいろと面倒なことになりそうです。お役に立てれば。
JMPファイルを何とかRに取り込もうとする…も撃沈する
0. はじめに
少し前から大学病院でJMP ( ジャンプ ) という統計ソフトの包括ライセンス契約を結んでいるらしく、JMPを使って解析をしたという話をよく聞くようになった。どうやら初学者にも使いやすくて好評らしい。聞いたことなかったので、なんだその怪しいソフトは、と内心バカにしていたのだが ( スミマセン ) どうやら泣く子も黙るSASの別バージョン ( ? ) らしい。
先日、共同研究先の先生から、jmpファイルで被験者情報のファイルをいただいたのだが、手元にRしか存在しないため上手く読み込めなくて悪戦苦闘してしまった。Excelに変換してもらう、というオチになってしまったが、その奮闘記を何かの役に立てればと思い書いてみる。
1. なぜExcelに変換してはいけないのか?
誰もが思うExcelにexportしてもらえばいいじゃん、ということ。当然僕も思いましたし、最終的にここに落ち着いてしまいましたが、
- カテゴリー変数のラベル情報が消去されてしまう
という致命的な問題があるようです。
2. JMPファイルをRで読み込むのは難しい
ネットで.jmpからRに取り込む手段を検索するもなかなかヒットしない。
どうやらRとJMPを同じマシンにインストールしておけばいろいろと連携させることができるようです。しかしそんなことがしたいわけではない。困ったのでFacebookのRのグループのメンバーにお伺いを立ててみた。すると、JMPでSASのファイルに変換すれば上手く読み込めるという情報をいただいた。コチラにも同様の情報がある。その名も、SAS移送ファイルで拡張子は.xpt。
3. .sas7bdat
3-1. {sas7bdat}を試してみる
というわけで、.xptに変換してもらうように先方に依頼したところ、.sas7bdatという形式で送られてきた。明らかにこれもSASのファイルなので、Rで開けるだろうと判断していろいろと調べてみるとRのPackage ‘sas7bdat’で開けることがわかった。
install.packages("sas7bdat") library("sas7bdat") Data <- read.sas7bdat("export.sas7bdat",debug=FALSE)
と入力すると
Error in read.sas7bdat("export.sas7bdat", debug = FALSE) : magic number mismatch please report bugs to maintainer
と返ってくる。エラーメッセージをgoogleにかけても有効な情報は得られない。辿り着いたコチラのサイトによると、どうやら原因は2つあるようだ。
■ SAS側でのデータ作成について
ASデータセットを作るときに圧縮をかけるのが通常なのですが、
Rに取り込むときに圧縮をかけていると、
読み込みがエラーになるので注意が必要です。⇒SASにて、データを取り込むときに「compress = no」とオプションをつける!
データの確認 日本語の変数要素が入っている場合は 文字化けしている可能性があります。
先方にデータを圧縮したか尋ねたが明瞭な回答は得られず。日本語はそもそも入っているようで、英語にすべて変換するのは厳しいとのこと。というわけで{sas7bdat}を使うのは諦めた。
3-2. {haven}を試してみる
次にたどり着いたのは、Package ‘haven’。これも試してみると
install.packages("haven") library(haven) read_sas("export.sas7bdat")
すると
read_sas("export.sas7bdat") Error: Failed to parse export.sas7bdat: Invalid file, or file has unsupported features.
と怒られた。するとhavenの最新バージョンならイケるという情報をゲットしたので試してみる。Githubからダウンロードするらしい。
devtools::install_github("hadley/haven") library(haven) read_sas("export.sas7bdat")
インストールに時間がかかり、これはイケるかも?と期待されたが
read_sas("export.sas7bdat") Error: Failed to parse export.sas7bdat: Invalid file, or file has unsupported features.
とあえなく撃沈。
3-3. sas7bdat.parso
今度はコチラのサイトを見つけました。ここで紹介されているsas7pdat.parsoという物を使えば、compressされたSASファイルも扱えそう。というわけでやってみました。
install.packages(c("rJava", "devtools")) devtools::install_github("BioStatMatt/sas7bdat.parso") library(sas7bdat.parso) read.sas7bdat.parso("export.sas7bdat")
とすると今度は
Error in .jnew("s7b2csvclass") : java.lang.UnsupportedClassVersionError: s7b2csvclass : Unsupported major.minor version 51.0
という新しいエラーメッセージが。割りとメジャーなものでどうやらJAVAの設定の問題の様子。Githubの皆様は、みんな困っていたようですが、解決策が出ず。他にもいろいろとgoogleでヒットするのですが、僕の理解の範疇を超えてしまっています。コチラを参考に.bash_profileをいじったりしましたが、結局解決せず。この問題さえ解決できれば、クリアできそうだったのに…残念です。
3. .xpt
というわけで、.sas7bdatのインポートは諦めて、改めて.xptで送ってもらうように頼みました。.xptであれば割りと有名なpackage ‘foreign’でインポートできるようです。
install.packages("foreign") library("foreign") mydata <- read.xport("export.xpt")
とすると、ついに読み込めました!感極まりましたが、結局、
head(mydata)[,1:6]
とデータを確認すると
> head(mydata)[,1:6] X_R______ X____ X___A X________ X_E______ X_E_____R 1 C001 2 1 1 0 NA 2 C002 1 1 2 0 NA 3 C003 1 1 3 0 NA 4 C004 1 1 4 0 NA 5 C005 NA 1 5 -1 NA 6 C006 1 1 6 0 NA
となり、日本語で書かれた列名が文字化けし、ラベルの項目は結局削除されてしまっていましたとさ。
というわけで、長くなりましたが、結局はExcelに単純に変換してもらったファイルを何とかラベルを類推して解析しました。恐らくsas7bdat.parsoでJAVAの問題さえ解決できればなんとかなったんじゃないかと思われます。
どなたか、詳しい方、教えていただけると幸いです。