読者です 読者をやめる 読者になる 読者になる

にしもと.blog

色々してます。

RでAnosimをやる方法(具体例とともに)

自分のラボのWikiはそろそろなくなる、とのことなのでこっちに移設。

まずコードから

# dataの準備
data <- cbind(c(1,2,3),c(4,5,6),c(7,8,9),c(10,11,12),c(8,5,7))
rownames(data) <- c("A","B","C")
colnames(data) <- c("Sample1","Sample2","Sample3","Sample4","Sample5")

# groupingの準備 Sample1,2で1グループ, Sample3,4,5で1グループだとしよう
grp <- as.factor(c(1,1,2,2,2))

# パッケージインストール
install.packages("vegan")
library("vegan")

# Test
anosim(data,grouping=grp)

anosimって何やっているの

伝え聞いた話です。論文等は読んでいません。↓が参考になるでしょう。
vegan研究(2)ANOSIM実践編: 足軽日記

上の例を使って説明するとする。
Sample1と2、 Sample3と4と5 が違うグループなのか(同じ母集団からサンプリングされたものとみなせるか?)が見たいこと。
ここでは
・Sample1と2をグループ1
・Sample3と4と5をグループ2
としよう。

そこでラベルを適当にシャッフルする。
Sample3と4
Sample1と2と5

このときのカテゴリ内距離の和(のようなもの)を求める。
そうすると、きっと正規分布っぽいものができるはず。

それに対し、Sample1と2やSample3と4と5が同じ母集団からとられているならばカテゴリ内距離は近くなるはず。
よって正規分布から外れる。
こんな解釈。