Поиск изменений, учитываемых каждой главной координатой (компонентом, осью и т. Д.) В главных координатах анализа матрицы окрестностей - PullRequest
0 голосов
/ 25 апреля 2019

После завершения анализа pcnm на наборе данных, я могу вызвать все оси и вычеркнуть вновь созданные стандартизированные значения из анализа. Однако, прежде чем я помещу эти значения в множественную регрессию или другие анализы, я хотел бы знать, какая часть вариации учитывается по каждой оси. Я пытался сказать г, чтобы выкинуть заговор, которого было бы достаточно, но безуспешно. До этого анализа я в основном работал в SAS, поэтому я не очень хорошо разбираюсь в языке R. Приведенный ниже код работает хорошо и делает все, что мне нужно для этого, но он просто не дает много информации о том, как выполнялся анализ или каковы результаты анализа. Таким образом, суть здесь в том, что я хотел бы учесть долю вариаций, учитываемых каждым компонентом. Спасибо всем за помощь.

Я пытался использовать код screeplot, который используется для другого анализа ординации в R, согласно руководству по пакету vegan, но он никогда не указывает, что его можно использовать для pcnm.

#set working directory
setwd("G:/Cyprinodon_elegans")
#read in the data
loc<-read.csv("hydrologic_distances.csv",header=T)
attributes<-read.csv("balmorhea_locations.csv",header=T)
#have a look at the data
names(loc)
#pull only the values for origin, distination, and length
loc.go<-loc[,c(5,6,10)]
names(loc.go)
#create a matrix
loc.mat<-matrix(0,ncol=40,nrow=40)
loc.mat[cbind(loc.go$Origin,loc.go$Destination)]<-loc.go$Total_Length
#grab the row and column IDs
labels<-as.character(sort(unique(loc.go$Origin)))
rownames(loc.mat)<-labels
colnames(loc.mat)<-labels
#pull only the the lower right and make it a distance matrix
matrix2<-as.dist(loc.mat)
#load vegan library to run pcnm analysis
library(vegan)
#run pcnm
pcnm1<-pcnm(matrix2)
output<-as.data.frame(pcnm1$vectors)
output$UniqueID<-as.factor(as.character(row.names(output)))
output
#combine with other attributes
all.data<-cbind(attributes,output)
#plot the output
plot(all.data$Long,all.data$Lat)
ordisurf(all.data[,c(3:2)], scores(pcnm1, choi=1), bubble = 4, main = "PCNM 1")
ordisurf(all.data[,c(3,2)], scores(pcnm1, choi=2), bubble = 4, main = "PCNM 2")
ordisurf(all.data[,c(3,2)], scores(pcnm1, choi=3), bubble = 4, main = "PCNM 3")
ordisurf(all.data[,c(3,2)], scores(pcnm1, choi=4), bubble = 4, main = "PCNM 4")
ordisurf(all.data[,c(3,2)], scores(pcnm1, choi=5), bubble = 4, main = "PCNM 5")
#write the output
write.table(all.data,"PCNM.output.csv")
...