fc2ブログ
rpy2でJonckheere-Terpstra(ヨンクヒール・タプストラ)検定
たとえば、「無治療、ちょっと治療、ちゃんと治療」のように、3個以上のカテゴリに順序があるとき、これらの群間で数値にトレンドがあるかどうかを検定する方法に、Jonckheere-Terpstra(ヨンクヒール・タプストラ)検定という方法があります。詳しくは、Rを使った実例や、Wikipedia(英語)などを参考にしてください。Rにあるのに、scipy.statsに無く、大学の図書館に、この本があったので、Pythonで実装しようかと思ったのですが、面倒になってrpy2を使ってしまいました。数値データは、本の中から引用しています。

robj.r('library(SAGx)')
import rpy2.robjects as robj
v = robj.FloatVector([133,139,149,160,184,111,125,143,148,157,99,114,116,127,146])
l = robj.FactorVector([1,1,1,1,1,2,2,2,2,2,3,3,3,3,3],ordered=True)
robj.globalenv["v"] = v
robj.globalenv["l"] = l
_res = robj.r('JT.test(v,l,alt="decreasing")')
print(_res)

Jonckheere-Terpstra

data: v by l
J = 59, p-value = 0.01156
alternative hypothesis: decreasing: 1 > 2 > 3

事前にRのパッケージのインストールが必要です。
> source("http://bioconductor.org/biocLite.R")
> biocLite("SAGx")
とすれば行けると思いますが、手元の環境ではちょっとエラーが・・・。ま、動いているからいいか。
スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

【2013/07/11 10:08】 | データ解析 | トラックバック(0) | コメント(0) | page top↑
<<IPython notebookの設定 | ホーム | rpy2のインストールに失敗しgccを刷新>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://tanopy.blog79.fc2.com/tb.php/97-3a2187a2
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |