1つのエラーと戦うのに問題があります。実行しようとしている行は次のとおりです。
library(vegan)
adonis(data = dset, adiv ~ N+P+K)
失敗メッセージを返します。
Error in rowSums(x, na.rm = TRUE) :
'x' must be an array of at least two dimensions
aov(data = dset, adiv ~ N+P+K) が正常に機能するため、データセットにはすべて問題ないようです。一部の関数がデータ フレームのディメンションを削除したときにこのようなエラーが発生することは知っていますが、この場合の修正方法はわかりません。
編集。私のデータセットの一部を追加します。
treatment N P K M adiv
N 1 0 0 0 0.2059
P 0 1 0 0 0.20856
K 0 0 1 0 0.22935
O 0 0 0 0 0.10729
NP 1 1 0 0 0.30674
NK 1 0 1 0 0.30509
PK 0 1 1 0 0.30606
NPK+ 1 1 1 1 0.50389
NPK 1 1 1 0 0.40731
manure 0 0 0 1 0.2085
アドニスを実行する前に、治療値を次のように係数に変換します。
dataset$N <- as.factor(dat$N)
dataset$P <- as.factor(dat$P)
dataset$K <- as.factor(dat$K)
dataset$M <- as.factor(dat$M)
次に、関数を実行してエラーを取得しようとします。すでに述べたように、aov() または lm() を試すと、すべてがうまく機能します。