I used PRIMER v6 to plot my species data before following the steps shown in this video (https://www.youtube.com/watch?v=3I0zpl4v5wo&list=PL-W1dvsmEZ3KISwdig6X18dkQppJfcrYW&index=8) and get the plot below:
Now I'm trying to do the same thing using R with the codes that I copied from https://jkzorz.github.io/2019/06/06/NMDS.html:
dat <- Sp_Data[1:15,2:8]
dat <- dat %>% filter_all(any_vars(. != 0))
m_dat <- as.matrix(dat, labels = T)
mds <- metaMDS(m_dat, distance = "bray")
# ggplot
#extract NMDS scores (x and y coordinates)
data.scores = as.data.frame(scores(mds))
#add columns to data frame
pt <- Sp_Data[which(rowSums(Sp_Data[1:15,2:8])>0),]
data.scores$Condition = pt$Condition
head(data.scores)
library(ggplot2)
xx = ggplot(data.scores, aes(x = NMDS1, y = NMDS2)) +
geom_point(size = 4, aes( shape = Condition))+
theme(axis.text.y = element_text(colour = "black", size = 12, face = "bold"),
axis.text.x = element_text(colour = "black", face = "bold", size = 12),
legend.text = element_text(size = 12, face ="bold", colour ="black"),
legend.position = "right", axis.title.y = element_text(face = "bold", size = 14),
axis.title.x = element_text(face = "bold", size = 14, colour = "black"),
legend.title = element_text(size = 14, colour = "black", face = "bold"),
panel.background = element_blank(), panel.border = element_rect(colour = "black", fill = NA, size = 1.2),
legend.key=element_blank()) +
labs(x = "NMDS1", y = "NMDS2", shape = "Condition") +
scale_colour_manual(values = c("#009E73", "#E69F00"))
xx
U1 is actually UL, and U2 is UR
My question is, how can the two plots be so different? The stress values are different too. Using R, it is 0.03435446, much lower than that using PRIMER
Here's the the compressed Sp_Data
:
structure(list(SiteConditionReplicate = c("JU1One", "JU1Two",
"JU1Three", "JU1Four", "JU1Five", "JSOne", "JSTwo", "JSThree",
"JSFour", "JSFive", "JU2One", "JU2Two", "JU2Three", "JU2Four",
"JU2Five", "PU1One", "PU1Two", "PU1Three", "PU1Four", "PU1Five",
"PSOne", "PSTwo", "PSThree", "PSFour", "PSFive", "PU2One", "PU2Two",
"PU2Three", "PU2Four", "PU2Five"), `Camptandrium sexdentatum` = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0), Diogenidae = c(0, 4, 0, 0, 1, 53, 0,
2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0), `Nassarius globasus` = c(0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
`Tellina sp` = c(0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), `Marcia opima` = c(0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Nereidae = c(0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 17, 18, 17, 12, 4, 3, 12,
1, 6, 0, 0, 0, 0, 0), Maldanidae = c(4, 5, 3, 2, 2, 1, 0,
0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0), ...9 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA), Site = c("J", "J", "J", "J", "J",
"J", "J", "J", "J", "J", "J", "J", "J", "J", "J", "P", "P",
"P", "P", "P", "P", "P", "P", "P", "P", "P", "P", "P", "P",
"P"), Condition = c("U1", "U1", "U1", "U1", "U1", "S", "S",
"S", "S", "S", "U2", "U2", "U2", "U2", "U2", "U1", "U1",
"U1", "U1", "U1", "S", "S", "S", "S", "S", "U2", "U2", "U2",
"U2", "U2"), Replicate = c("One", "Two", "Three", "Four",
"Five", "One", "Two", "Three", "Four", "Five", "One", "Two",
"Three", "Four", "Five", "One", "Two", "Three", "Four", "Five",
"One", "Two", "Three", "Four", "Five", "One", "Two", "Three",
"Four", "Five")), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -30L))