HOME/Articles/

Rでtwinspan

Article Outline

Rでtwinspanの比較(modified TWINSPAN(modif = T) vs Standard TWINSPAN(modif = F) )

">Hits

(注意)今回の記事の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)

tw01

  • Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。同じ。

mite (Package: vegan)

tw02

  • modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。

BCI (Package: vegan)

tw03

  • modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。

sipoo (Package: vegan)

tw04

  • Standard TWINSPAN はlevel=2で3つに分かれた。modified TWINSPAN は3つに分けた。同じ。

pyrifos (Package: vegan)

tw05

  • modified TWINSPAN は3つに分けた、 Standard TWINSPAN はlevel=2で4つに分かれた。違う。

varespec (Package: vegan)

tw06

  • Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。同じ。

danube (Package: twinspanR) <- twinspanR付属のデータセット

tw07

  • Standard TWINSPAN はlevel=2で4つに分かれた。modified TWINSPAN は4つに分けた。違う。

Rコード

twinspanR:Example Code

データセットの読み込み

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()