Thomas.Rousseaubeaumier at UQTR.CA
2011-Oct-29 18:57 UTC
[R] Redundancy canonical analysis plot problem in 3D using VEGAN
Hi Guys, First, English is not my native language so sorry if the question is too difficult to understand. I can rephrase it if necessary. I have 32-bit Windows Xp SP3, i use R version 2.12.0 (2010-10-15), and the question is about Redundancy canonical analysis? plot problem in 3D using VEGAN, RGL, SCATTERPLOT3D and SFSMISC. I noticed the following? code to explain as clearly as possible the problems encountered. I am not able to add " species scores " from RDA results in 3D plot like i can in 2D plot. With the code i used , i get errors like ; ERROR dans t$sites : $ operator is invalid for atomic vectors, Erreur dans match.arg (display, items) : 'arg' should be one of ?xyz.convert?, ?points3d?, ?plane3d?, ?box3d?, ?points?, ?arrows? I saw that I can use other functions, but it is impossible to extract the 3D scores ( and add species to 3d plot ), Other fonctions works but, add elements in a 2D space. How can I add the "species scores" (sites and arrows are added correctly) to the 3D plot as with the 2D plot. Thank you for your help, Sincerely, Thomas University of Quebec at Trois-Rivieres , Canada Environmental science MSC student. rousseat at uqtr.ca, thomasbeaumier at hotmail.com Here is the noticed code I used; ----- CODE ---------------- # Load library library(vegan) library(rgl) library(scatterplot3d) library(sfsmisc) # Import data ALLMAS <- read.table("C:/data.txt", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE # Define var. X <-ALLMAS[,c(10,14,15,16,18,19,22)] # env. (7) var. Y <-ALLMAS[,c(9,3:6)] ??? ? # y. (4) var Z <-ALLMAS[,c(25)]??? ?# Z.? (1) var covariate ENVIESRDA <-rda(Y,X,Z) ??? # Redundancy canonical analysis pl <- ordiplot3d(ENVIESRDA, angle=15, type="n") # Get $Points (1:2) , get $arrows (1:2) text(pl, "arrows", col="blue", pos=3, cex = 1) # Text env. var in plot text(pl, "points", col="red", pos=1, cex = 0.5) # Point "sites" (y.var) in plot text(pl, "species", col="blue", cex=0.8) # Text " species " in plot , # ??? I get the following error message: #??? Erreur dans match.arg(display, items) : # ??? 'arg' should be one of ?xyz.convert?, ?points3d?, ?plane3d?, ?box3d?, ?points?, ?arrows? #??? I saw that I can use other functions, but it is impossible to extract the 3D scores. Other features add elements in a 2D space. # ??? Then I try the following code, which works well in 2D when I extract the summary of the results of the RDA. t <-summary(ENVIESRDA,scal=2) # t <-summary(pl,scal=2) ???? #???????? I get ; # Length Class? Mode??? # xyz.convert??????? 1???? -none- function # points3d??? ? ? ? ? 1???? -none- function # plane3d?? ? ? ? ? ?? 1???? -none- function # box3d?????? ? ? ? ?? 1???? -none- function # points?????? ? ? ?? 48???? -none- numeric # arrows???? ??????? 14???? -none- numeric # Points = sites but where is " species scores " ? X =t$sites[,1] # ERROR dans t$sites : $ operator is invalid for atomic vectors Y =t$sites[,2] t$sites summary(ENVIESRDA, step=1000, perm.max=1000) # Summary anova(ENVIESRDA, step=1000, perm.max=1000) # Anova # Draw arrows to connect the "sites" with each other before / after study. # But I can't get the new coordinates of 3D graphics using the function summary. stn2= p.arrows(X[1],Y[1], X[13],Y[13],fill="red",width=1) stn3= p.arrows(X[2],Y[2], X[14],Y[14],fill="yellow",width=1) stn4= p.arrows(X[3],Y[3], X[15],Y[15],fill="yellow",width=1) stn5= p.arrows(X[4],Y[4], X[16],Y[16],fill="red",width=1) stn6= p.arrows(X[5],Y[5], X[17],Y[17],fill="yellow",width=1) stn7= p.arrows(X[6],Y[6], X[18],Y[18],fill="red",width=1) stn9= p.arrows(X[7],Y[7], X[19],Y[19],fill="yellow",width=1) stn10= p.arrows(X[8],Y[8], X[20],Y[20],fill="yellow",width=1) stn11= p.arrows(X[9],Y[9], X[21],Y[21],fill="red",width=1) stn12= p.arrows(X[10],Y[10], X[22],Y[22],fill="yellow",width=1) stn13= p.arrows(X[11],Y[11], X[23],Y[23],fill="red",width=1) stn18= p.arrows(X[12],Y[12], X[24],Y[24],fill="red",width=1)?? stn19= p.arrows(X[13],Y[13], X[25],Y[25],fill="red",width=1) # ??? END ------------------------------------------------- Courriel exp?di? via https://courriel.uqtr.ca