2016-04-22 36 views
0

我仍然相對缺乏經驗操縱R中的地塊,並且需要幫助。我使用rda()函數在R中運行冗餘分析,但現在我需要簡化該圖以排除不必要的信息。目前我正在使用的代碼是:如何從RDA圖中排除參數

abio1516<-read.csv("1516 descriptors.csv") 
attach(abio1516) 
bio1516<-read.csv("1516habund.csv") 
attach(bio1516) 
rda1516<-rda(bio1516[,2:18],abio1516[,2:6]) 

anova(rda1516) 
RsquareAdj(rda1516) 
summary(rda1516) 

    varpart(bio1516[,2:18],~Distance_to_source,~Depth, ~Veg._cover, ~Surface_area,data=abio1516) 
plot(rda1516,bty="n",xaxt="n",yaxt="n",main="1516; P=, R^2=", 
    ylab="Driven by , Var explained=",xlab="Driven by , Var explained=") 

產生的情節是這樣的: rda plot

請幫我修改我的代碼:排除網站(坐#),所有軸和內部虛線。

我還想擴大字段的大小,或將矢量標籤移動到所有適合繪圖字段。

更新每反應,通過繪製與type = "n"產生一個空的陰謀,你可以添加你想要的東西RDA的工作低於這個點代碼

plot(rda,bty="n",xaxt="n",yaxt="n",type="n",main="xxx",ylab="xxx",xlab="xxx 
Overall best:xxx") 

abline(h=0,v=0,col="white",lwd=3) 
points(rda,display="species",col="blue") 
points(rda,display="cn",col="black") 
text(rda,display="cn",col="black") 

enter image description here

回答

1

開始。虛線被硬編碼到plot.cca函數中,因此您需要製作自己的版本,或者使用abline來隱藏它們(然後使用box來掩蓋座標軸上的孔)。

require(vegan) 
data(dune, dune.env) 
rda1516 <- rda(dune~., data = dune.env) 

plot(rda1516, type = "n") 
abline(h = 0, v = 0, col = "white", lwd = 3) 
box() 
points(rda1516, display = "species") 
points(rda1516, display = "cn", col = "blue") 
text(rda1516, display = "cn", col = "blue") 

如果text標籤不是在正確的位置,你可以使用參數pos移動他們(做一個矢量,只要你有整數箭頭數量1 - 4移動的標籤(有可能有更好的解決方案)

+0

這真是太好了,謝謝!它解決了我的大部分問題,唯一剩下的就是我無法擺脫軸3或軸4 (上,右) 我試過了: axis(4,labels = FALSE,tick =「FALSE」,col =「white」) axis(3,labels = FALSE,tick =「FALSE」,col =「white 「) 但它沒有沒有工作。 有什麼建議嗎? – Jesse001

+1

箭頭的比例需要這些軸​​。當然,如果你真的不想要它們,你可以編輯'points.cca'和'text.cca'的代碼。 –

+0

好點。我將更新上面的代碼以便將來幫助其他人。 – Jesse001