geom_segment ggplot with envfit data

Have made NMDS plot with this code:

   >ggplot(MDS_xy,aes(MDS1, MDS2, color=Habitat)) + 
   geom_point()+geom_text(aes(label=MDS_label),hjust=1,vjust=1)+
   theme_bw()+ggtitle("metaMDS of Macropods & Pigs at all sites\ngrouped by 
   habitat\nStress=0.0117661")```
Trying add results of envfit function as vectors:
```variables.1<-nmds2[,6:13]
    vf<-envfit(nmds,variables.1, permutations = 999)
    vf.scrs<-data.frame((vf$vectors)$arrows,(vf$vectors)$r,(vf$vectors)$pvals)```
Addition to plot:
```>nmdsp<-ggplot(MDS_xy,aes(MDS1, MDS2, color=Habitat)) + 
geom_point()+
geom_text(aes(label=MDS_label),hjust=1,vjust=1)+
theme_bw()+
ggtitle("metaMDS of Macropods & Pigs at all sites\ngrouped by habitat\nStress=0.0117661")
> nmdsp + geom_segment(data=vf.scrs,aes(x=0,xend=vf.scrs$NMDS1,y=0,yend=vf.scrs$NMDS2),arrow = arrow(length=unit(0.5), colour="gray",inherit_aes=FALSE)+                                                                                                                                                                                                                          arrow = arrow(length = unit(0.5, "cm")),colour="grey",inherit_aes=FALSE) + 
  geom_text(data=vf.scrs,aes(x=vf.scrs$NMDS1,y=vf.scrs$NMDS2,label="vectors"),size=5)+
  coord_fixed()
Error message:
Warning: Ignoring unknown parameters: inherit_aes
Error in FUN(X[[i]], ...) : object 'Habitat' not found
Error: Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?

Can you format your code to make it readable or better yet try to provide a reproducible example?

I can't figure it out - sorry

library(vegan)
#> Warning: package 'vegan' was built under R version 3.5.3
#> Loading required package: permute
#> Warning: package 'permute' was built under R version 3.5.3
#> Loading required package: lattice
#> This is vegan 2.5-5
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 3.5.3
library(grid)
install.packages("reprex")
#> Installing package into 'C:/Users/evansgw/Documents/R/win-library/3.5'
#> (as 'lib' is unspecified)
#> package 'reprex' successfully unpacked and MD5 sums checked
#> 
#> The downloaded binary packages are in
#>  C:\Data\GIS\Temp\RtmpsNHgPA\downloaded_packages
library(reprex)
#> Warning: package 'reprex' was built under R version 3.5.3
install.packages("datapasta")
#> Installing package into 'C:/Users/evansgw/Documents/R/win-library/3.5'
#> (as 'lib' is unspecified)
#> package 'datapasta' successfully unpacked and MD5 sums checked
#> 
#> The downloaded binary packages are in
#>  C:\Data\GIS\Temp\RtmpsNHgPA\downloaded_packages
library(datapasta)
#> Warning: package 'datapasta' was built under R version 3.5.3
nmds.data<-nmds2[,14:15]
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
nmds<-metaMDS(comm=nmds.data,distance = "bray",trace=FALSE,autotransform = FALSE)
#> Error in metaMDS(comm = nmds.data, distance = "bray", trace = FALSE, autotransform = FALSE): object 'nmds.data' not found
plot(nmds$points)
#> Error in plot(nmds$points): object 'nmds' not found
MDS_xy<-data.frame(nmds$points)
#> Error in data.frame(nmds$points): object 'nmds' not found
MDS_label<-nmds2$Label
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
nmds
#> Error in eval(expr, envir, enclos): object 'nmds' not found
NMDS=data.frame(MDS1=nmds$points[,1],MDS2=nmds$points[,2])
#> Error in data.frame(MDS1 = nmds$points[, 1], MDS2 = nmds$points[, 2]): object 'nmds' not found
NMDS.1=data.frame(nmds$points)
#> Error in data.frame(nmds$points): object 'nmds' not found
###Stress = 0.0117661###
###Habitat####
MDS_xy$Habitat<-nmds2$Habitat
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
ggplot(MDS_xy,aes(MDS1, MDS2, color=Habitat)) + geom_point()+geom_text(aes(label=MDS_label),hjust=1,vjust=1)+theme_bw()+ggtitle("metaMDS of Macropods & Pigs at all sites\ngrouped by habitat\nStress=0.0117661")
#> Error in ggplot(MDS_xy, aes(MDS1, MDS2, color = Habitat)): object 'MDS_xy' not found
###Water###
MDS_xy$Water<-nmds2$Water
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
ggplot(MDS_xy,aes(MDS1, MDS2, label=MDS_label, color=Water)) + geom_point()+geom_text(aes(label=MDS_label),hjust=1,vjust=1)+theme_bw()+ ggtitle("metaMDS of Macropods & Pigs at all sites\ngrouped by pressence of water\nStress=0.0117661")
#> Error in ggplot(MDS_xy, aes(MDS1, MDS2, label = MDS_label, color = Water)): object 'MDS_xy' not found
###Initial Pig Damage###
MDS_xy$Observed_Pig_Damage<-nmds2$Observed_Pig_Damage
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
ggplot(MDS_xy,aes(MDS1, MDS2, color=Observed_Pig_Damage)) + geom_point()+theme_bw()+ ggtitle("metaMDS of Macropods & Pigs at all sites\ngrouped by initial pig observation\nStress=0.0117661")+geom_text(aes(label=MDS_label),hjust=1,vjust=1)
#> Error in ggplot(MDS_xy, aes(MDS1, MDS2, color = Observed_Pig_Damage)): object 'MDS_xy' not found
###envfit###
variables.1<-nmds2[,6:13]
#> Error in eval(expr, envir, enclos): object 'nmds2' not found
vf<-envfit(nmds,variables.1, permutations = 999)
#> Error in envfit(nmds, variables.1, permutations = 999): object 'nmds' not found
vf
#> Error in eval(expr, envir, enclos): object 'vf' not found
var.df<-as.data.frame(vf$vectors$arrows*sqrt(vf$vectors$r))
#> Error in as.data.frame(vf$vectors$arrows * sqrt(vf$vectors$r)): object 'vf' not found
var.df$Variables<-rownames(var.df)
#> Error in rownames(var.df): object 'var.df' not found
var.df
#> Error in eval(expr, envir, enclos): object 'var.df' not found
ggplot(data=NMDS.1,aes(MDS1,MDS2))+
  geom_point(aes(data=NMDS,colour=MDS_xy))+
  geom_segment(data=var.df,aes(x=0,xend=MDS1,y=0,yend=MDS2),
               arrow=arrow(length=unit(0.5,"cm")),colour="grey",inherit_aes=FALSE)+
  geom_text(data=var.df,aes(x=MDS1,y=MDS2,label=Variables),size=5)+
  coord_fixed()
#> Error in ggplot(data = NMDS.1, aes(MDS1, MDS2)): object 'NMDS.1' not found

Created on 2019-08-02 by the reprex package (v0.3.0)

I don't get the errors afte reach line of code. Because I import dataset, then set the columns I want.
Hope this is better.
I work full-time and study part-time. It's been a nightmare.
Appreciate any help about fitting those vectors.

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.