2012-12-27 31 views
3

在我的RDA triplot中,我想顯示'網站','物種'及其約束,在我的情況下是Field和Trt。問題在於並非所有級別的約束條件都顯示在圖中。每個因素有兩個層次。R素食主義者RDA並非所有水平的約束條件都顯示在triplot

我的RDA代碼:

Dummy.rda <- rda(species.rda ~ Field + Trt,RDA.env, scale=TRUE) 

summary(Dummy.rda, scaling=3) #Here I see only one level of each reported in:Biplot scores for constraining variables. However all levels appear in: Centroids for factor constraints 

anova.cca(Dummy.rda, step=100, by='margin') # degrees of freedom are correct for both factors (df=1) 

plot(Dummy.rda, scaling = 3) #This displays all levels of Field and Trt but only one of each has an arrow 

plot(Dummy.rda, display = "species", xlim = xlims, ylim = ylims, 
     scaling = 3) 
text(Dummy.rda, scaling = 3, display = "bp") # I want to customize the RDA plot, but this 'text' only displays 1 level of each of Field and Trt. 
+0

問題是關於文本函數?如果是這樣,你能顯示你想要繪製什麼或者數據的樣本來重現它嗎? – agstudy

+1

嘗試'''display ='cn''''在你上一次的文本調用中。這將繪製因子質心而不是箭頭。 – EDi

+0

問題是爲什麼不顯示所有級別的約束。上面的代碼正確顯示「網站」和「物種」,我想使用文本()來添加箭頭來表示環境約束。在我的例子中,Trt有2個級別,Field有2個級別,但是上面的腳本只在一個級別顯示在triplot上。 –

回答

3

丟失的水平,因爲你想,如果他們持續的人來查看因子變量 - 嚴格,他們不應該被顯示爲雙標圖箭頭我猜。無論如何,就像使用虛擬變量進行迴歸一樣,係數的其中一個水平也不能包含在內,因爲它與模型矩陣中剩餘水平的虛擬變量線性相關。考慮下面這個例子:

require("vegan") 
data(dune) 
data(dune.env) 

mod <- rda(dune ~ Management, data = dune.env) 

> model.matrix(mod) 
    ManagementHF ManagementNM ManagementSF 
2    0   0   0 
13   0   0   1 
4    0   0   1 
16   0   0   1 
6    1   0   0 
1    0   0   1 
8    1   0   0 
5    1   0   0 
....<truncated> 

你從model.matrix()輸出中看到什麼是走進了協調的變量。請注意,有在模型矩陣三個變量,但有四個級別在Management因子:

> with(dune.env, levels(Management)) 
[1] "BF" "HF" "NM" "SF" 

R中的慣例是使用因子作爲參考電平的第一電平。在迴歸中,這將被包含在攔截中,但我們在RDA中沒有其中一個。請注意0​​輸出的第一行如何,所有值均爲0;這表明該行在BF管理組中。但是,只有三個變量進入模型本身,我們只能用三個雙箭頭來表示它們 - 這就是數學運作的方式。

我們可以做的是陰謀集團重心,這就是在summary()輸出你參考並可以提取出使用scores()

> scores(mod, display = "cn") 
        RDA1  RDA2 
ManagementBF -1.2321245 1.9945903 
ManagementHF -1.1847246 0.7128810 
ManagementNM 2.1149031 0.4258579 
ManagementSF -0.5115703 -2.0172205 
attr(,"const") 
[1] 6.322924 

因此到質心添加到現有的情節如下:

text(mod, scaling = 3, display = "cn") 

無論您做什麼,都無法爲參考組添加雙指箭頭。

我希望能解釋你所看到的行爲?