2016-04-22 173 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