Article Outline
Rでtwinspanの比較(modified TWINSPAN(modif = T) vs Standard TWINSPAN(modif = F) )
(注意)今回の記事のRコードは「twinspanR:Example Code」そのままです。(手抜き!!)
(参考)
Analysis of community ecology data in R twinspan : David Zelený
Rでtwinspanできるパッケージ
library(twinspanR), David Zelený
- modified TWINSPAN(modif = T) & Standard TWINSPAN(modif = F)
- it can be installed only on Windows platform (since the engine of the library is based on running *.exe file externally)
library (twinspan), Jari Oksanen
- importing the original FORTRAN code into R
twinspanR package のおもしろいところは、RからtwinspanR package付属の「twinspan.exe」を呼び出し、使っているところ。
「twinspan.exe」はwineを使うと、linuxからでも使える。
この記事では、twinspanR packageとvegan付属のdatasetsを使って、modified TWINSPANとStandard TWINSPANのちょっとした比較をしてみました。
グラフ(あくまで、一例)
(注意)
「Standard TWINSPAN」の場合は分ける基準はlevelであって、clusterの数ではない。
「modified TWINSPAN」の場合はclusterの数。(これが「modified TWINSPAN」の大きな利点)
dune (Package: vegan)
- Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。同じ。
mite (Package: vegan)
- modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。
BCI (Package: vegan)
- modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。
sipoo (Package: vegan)
- Standard TWINSPAN はlevel=2で3つに分かれた。modified TWINSPAN は3つに分けた。同じ。
pyrifos (Package: vegan)
- modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。
varespec (Package: vegan)
- Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。同じ。
danube (Package: twinspanR) <- twinspanR付属のデータセット
- Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。違う。
Rコード
データセットの読み込み
data(dune)
data<- dune
data(mite)
data<- mite
data(BCI)
data<- BCI
data(sipoo)
data<- sipoo
data(pyrifos)
data<- pyrifos
data(varespec)
data<- varespec
data(danube)
data<- danube$spe
実行(違うのは、modified TWINSPAN : cluster= とStandard TWINSPAN : level= にいれる数だけですのでひとつにした。)
res <- twinspan(data, modif = TRUE)
# one of c('species.names', 'order.plots', 'reading.data', 'input.parameters', 'levels', 'table', 'twi')
print (res, 'table')
( k <- cut(res,cluster=4) )
table(k)
#
res2 <- twinspan(data, modif = F)
# one of c('species.names', 'order.plots', 'reading.data', 'input.parameters', 'levels', 'table', 'twi')
print(res2, 'table')
( k2 <- cut(res2,level=2) )
table(k2)
#
dca <- decorana(data)
#
#png("tw01.png",width=800,height=600)
par (mfrow = c(1,2))
# Modified TWINSPAN
ordiplot (dca, type = 'n', display = 'si', main = 'Modified TWINSPAN')
points (dca, col = k)
#
for (i in c(1,2,4)) ordihull (dca, groups = k, show.group = i, col = i,
draw = 'polygon', label = TRUE)
#
# Standard TWINSPAN (Hill 1979)
ordiplot (dca, type = 'n', display = 'si', main = 'Standard TWINSPAN (Hill 1979)')
points (dca, col = k2)
#
for (i in c(2:4)) ordihull (dca, groups = k2, show.group = i, col = i,
draw = 'polygon', label = TRUE)
#
par (mfrow = c(1,1))
#dev.off()