1. トップページ
  2. Rによる群集組成の解析
  3. 群集組成と環境変数の関係:直接傾度分析

Rによる群集組成の解析

群集組成と環境変数の関係:直接傾度分析

直接傾度分析では、群集組成の違いを環境変数の重回帰で説明します。間接傾度分析に続けて行いますので、同じ群集データdatと環境データedatを使います。

環境変数を整理

環境変数のセットを説明変数として重回帰を行いますので、重回帰の場合の一般的な注意が必要です。名義変数や類別変数が含まれる場合も同様です。ここでは、次の3点について検討し、必要なデータの修正を行います。

  • 正規性
  • 多重共線性
  • 標準化

説明変数は正規分布をしているのが理想的ですが、実際のデータではなかなか難しいです。重回帰分析の頑健性を信じて、分布が大きく偏った変数についてのみ、変数変換で分布の偏りを修正します。hist()関数で分布図を見てみます。

hist(edat$MdG)

環境変数MdGは底質の砂の中央粒径値(mm)です。見た目で判断していますが、正規分布とは大きく外れています。そこで、底質粒度を表す際に良く用いられるファイスケールに変換します。2を底に対数変換して正負を逆転します。粒径が1ミリだとファイスケールでゼロになります。

edat$MdPh <- -log(edat$MdG, 2)
hist(edat$MdPh)

今度は、逆に偏りましたが、変換前よりは偏りがましになったのでこれで良いことにしておきます。 他にも3つの変数で偏りが見られましたので、これらは平方根変換をしておきます。

edat$sqPM <- sqrt(edat$PM)
edat$sqTN <- sqrt(edat$TN)
edat$sqTOC <- sqrt(edat$TOC)

まだまだ正規分布にはかけ離れているのですが、次に移ります。

多重共線性はvariance inflation factor (VIF)を求めて検討します。VIFが10以上だと多重共線性の問題が生じるといわれていますので、10未満のより小さなVIFをとるように変数を順次削除していきます。まず、edatのうち変数変換をした元データは使わないので、新たな変数を作っておきます。また、2変数間の相関を確認しておきます。cor()pairs()で十分ですが、見やすさを重視してpsychパッケージのpairs.panelsで散布図を示します。

edat2 <- edat[,c(1:7,12:15)]
psych::pairs.panels(edat2)