[R] Mirror Image on Biplot Graphic
He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- View this message in context: http://www.nabble.com/Mirror-Image-on-Biplot-Graphic-tp19857549p19858155.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- View this message in context: http://www.nabble.com/Mirror-Image-on-Biplot-Graphic-tp19857549p19858268.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Mirror Image on Biplot Graphic
Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- View this message in context: http://www.nabble.com/Mirror-Image-on-Biplot-Graphic-tp19857549p19858268.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- View this message in context: http://www.nabble.com/Mirror-Image-on-Biplot-Graphic-tp19857549p19858268.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org
Re: [R] Mirror Image on Biplot Graphic
Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1. Something like the following, where my.cca is the orginal object and yax = obj[, 2] (xax being obj[, 1]). Obviously, copying isn't necessary. mynew.cca - my.cca mynew.cca$scores$species[, 2] - my.cca$scores$species[, 2] * -1 mynew.cca$scores$sites[, 2] - my.cca$scores$sites[, 2] * -1 mynew.cca$scores$centroids[, 2] - my.cca$scores$centroids[, 2] * -1 Regards, Mark. Rodrigo Aluizio wrote: He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything
Re: [R] Mirror Image on Biplot Graphic
Sorry for the mistake, I'm trying to rotate the CAP 1 axis not 2! Ah well, I tried the this other way, but it gave me an error. Something in the syntax, I tried to change something but didn't fix the error. CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 Erro: unexpected ',' in for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Well, it needs lots of patience... -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 3:50 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied the suggestion: CAPpotiFTI-CAPpotiFT scores(CAPpotiFTI)$species[,2]-scores(CAPpotiFTI)$species[,2]*-1 scores(CAPpotiFTI)$sites[,2]-scores(CAPpotiFTI)$sites[,2]*-1 Any ideas? I'm trying similar things but without success. -- Sent: Tuesday, October 07, 2008 10:34 AM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry, that will not return a result (I use several different ordination packages, in most of which this is possible). What you need to do with vegan is the following: scores(mynew.cca)$species[, 2] - scores(mynew.cca)$species[, 2] * -1 You will be able to do the rest. Regards, Mark. Mark Difford wrote: Hi Rodrigo, I need to rotate on y axis the lines and symbols of constrained and sites representation. Easiest is to multiply the axis you want to invert by -1
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, Yes it does, but this will work. You have erroneously used a , in your call, it should be a ., if anything. You have also inserted cca... And the axes being switched must be conformant: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 ## you are writing axis 1 over axis 2; and there is no ...,cca... Erro: unexpected ',' in for(i in c(2:8,15)) ## unexpected comma CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, ## Using your example to switch axis 1. Make sure that CAPpotiFT exists and is your ## original object. Copy and paste the lines below into your R console window and run CAPpotiFTI - CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 Cheers, Mark. Rodrigo Aluizio wrote: Sorry for the mistake, I'm trying to rotate the CAP 1 axis not 2! Ah well, I tried the this other way, but it gave me an error. Something in the syntax, I tried to change something but didn't fix the error. CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 Erro: unexpected ',' in for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Well, it needs lots of patience... -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 3:50 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores(my.cca, display=c(sites, species, cn)) ## Reverse yaxes Temp.data$sites[, 2] - Temp.data$sites[, 2] * -1 Temp.data$species[, 2] - Temp.data$species[, 2] * -1 Temp.data$centroid[, 2] - Temp.data$centroid[, 2] * -1 Do this for all the things you are plotting whose axes you want reversed. Check this against your original plot to ensure that the mirror isn't broken. You can then use the Temp.data with the scores() function to make your plot. ## Mock e.g. points(scores(Temp.data, display=sites), pch=21) Regards, Mark. Rodrigo Aluizio wrote: Thanks a lot for your help (again) Mark. I adapted your suggestion to my analysis. But I'm getting and error when trying to apply the new values. The error is: Erro em scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : não foi posssível encontrar a função scores- Translating: Error at scores(CAPpotiFTI)$species[, 2] - scores(CAPpotiFTI)$species[, : it's not possible to find the function scores- Bellow how I applied
Re: [R] Mirror Image on Biplot Graphic
Well this time I have to assume, I'm not understanding what is wrong now. And I have to say: 'Thank You for your patience', cause I'm going crazy here! :-) Mark, I tried this: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 and got this: Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Here is the script until this point library(vegan) library(xlsReadWrite) #FT--# PotiAbioFT-read.xls('FatorialReplica.xls',sheet=4,rowNames=T) PotiBioFT-read.xls('FatorialReplica.xls',sheet=6,rowNames=T) attach(PotiAbioFT) LogPotiBioFT-log(PotiBioFT+1) CAPpotiFT-capscale(t(LogPotiBioFT)~Envoronmental+Variables,dist=bray,add=T) PermCAPFT-anova.cca(CAPpotiFT,alpha=0.05,model='full',first=F,permutations=999) PermCAPFT summary(CAPpotiFT) # Rotating the axis CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 5:17 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Yes it does, but this will work. You have erroneously used a , in your call, it should be a ., if anything. You have also inserted cca... And the axes being switched must be conformant: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 ## you are writing axis 1 over axis 2; and there is no ...,cca... Erro: unexpected ',' in for(i in c(2:8,15)) ## unexpected comma CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, ## Using your example to switch axis 1. Make sure that CAPpotiFT exists and is your ## original object. Copy and paste the lines below into your R console window and run CAPpotiFTI - CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 Cheers, Mark. Rodrigo Aluizio wrote: [[elided Yahoo spam]] Ah well, I tried the this other way, but it gave me an error. Something in the syntax, I tried to change something but didn't fix the error. CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 Erro: unexpected ',' in for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Well, it needs lots of patience... -- Sent: Tuesday, October 07, 2008 3:50 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna + Species x Environment') Erro em match.arg(display) : 'arg' must be of length 1 or text.cca(scores(CAPpotiFTI$biplot),col=323232,cex=0.6,lwd=2,lty='dotted') Doesn't return an error, but it's not a mirror image as expected, it's nonsense. -- Sent: Tuesday, October 07, 2008 12:22 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Sorry again: the structure vegan uses is quite complex. Technically you should use the extractor function scores() to extract what you want from the object, e.g. scores(my.cca, display=species) or scores(my.cca, display=cn) [centroids]. I did work out a quicker way of reversing axes, but that seems to have gone walking...and I am not using vegan at the moment. Quickest hack is to make a copy of the objects you want to plot, reversing orientations along the way. So do (my.cca is your original object): Temp.data - scores
Re: [R] Mirror Image on Biplot Graphic
Hi Rodrigo, This is because [I now see] you are working on a capscale object, not a cca object, which is what I thought you were using. It still works, though, even with c(2:8,15), though DF #15 doesn't exist in capscale objects. To show you that this is so, run the example below, which uses a data set from vegan. I have dropped #15 from the selection set. ## Ex. of switching axes of capscale object windows(); par(mfrow=c(2,2)) data(varespec) data(varechem) vare.cap - capscale(varespec ~ N + P + K + Condition(Al), varechem, dist=bray) plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 1]-vare.cap$CCA[[i]][, 1] * -1 plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 2]-vare.cap$CCA[[i]][, 2] * -1 plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 1:2]-vare.cap$CCA[[i]][, 1:2] * -1 plot(vare.cap) Cheers, Mark. Rodrigo Aluizio wrote: Well this time I have to assume, I'm not understanding what is wrong now. And I have to say: 'Thank You for your patience', cause I'm going crazy here! :-) Mark, I tried this: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 and got this: Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Here is the script until this point library(vegan) library(xlsReadWrite) #FT--# PotiAbioFT-read.xls('FatorialReplica.xls',sheet=4,rowNames=T) PotiBioFT-read.xls('FatorialReplica.xls',sheet=6,rowNames=T) attach(PotiAbioFT) LogPotiBioFT-log(PotiBioFT+1) CAPpotiFT-capscale(t(LogPotiBioFT)~Envoronmental+Variables,dist=bray,add=T) PermCAPFT-anova.cca(CAPpotiFT,alpha=0.05,model='full',first=F,permutations=999) PermCAPFT summary(CAPpotiFT) # Rotating the axis CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 5:17 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Yes it does, but this will work. You have erroneously used a , in your call, it should be a ., if anything. You have also inserted cca... And the axes being switched must be conformant: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 ## you are writing axis 1 over axis 2; and there is no ...,cca... Erro: unexpected ',' in for(i in c(2:8,15)) ## unexpected comma CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, ## Using your example to switch axis 1. Make sure that CAPpotiFT exists and is your ## original object. Copy and paste the lines below into your R console window and run CAPpotiFTI - CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 Cheers, Mark. Rodrigo Aluizio wrote: [[elided Yahoo spam]] Ah well, I tried the this other way, but it gave me an error. Something in the syntax, I tried to change something but didn't fix the error. CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 Erro: unexpected ',' in for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Well, it needs lots of patience... -- Sent: Tuesday, October 07, 2008 3:50 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains: CAPpotiFTI-scores(CAPpotiFT, display=c('bp','species','cn','sites') CAPpotiFTI$species[,1]-CAPpotiFTI$species[,1]*-1 CAPpotiFTI$cn[,1]-CAPpotiFTI$cn[,1]*-1 CAPpotiFTI$sites[,1]-CAPpotiFTI$sites[,1]*-1 CAPpotiFTI$bp[,1]-CAPpotiFTI$bp[,1]*-1 plot.cca(CAPpotiFTI,type='none',display=c('bp','species'),main='Total Fauna
Re: [R] Mirror Image on Biplot Graphic
Exactly. It's solved. Just remove #15. CAPpotiFTI-CAPpotiFT for(i in c(2:8))CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 It seems that I've to pay more attention and study more about R language. Thanks a lot once more. Rodrigo. -- From: Mark Difford [EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 6:34 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, This is because [I now see] you are working on a capscale object, not a cca object, which is what I thought you were using. It still works, though, even with c(2:8,15), though DF #15 doesn't exist in capscale objects. To show you that this is so, run the example below, which uses a data set from vegan. I have dropped #15 from the selection set. ## Ex. of switching axes of capscale object windows(); par(mfrow=c(2,2)) data(varespec) data(varechem) vare.cap - capscale(varespec ~ N + P + K + Condition(Al), varechem, dist=bray) plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 1]-vare.cap$CCA[[i]][, 1] * -1 plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 2]-vare.cap$CCA[[i]][, 2] * -1 plot(vare.cap) for(i in c(2:8)) vare.cap$CCA[[i]][, 1:2]-vare.cap$CCA[[i]][, 1:2] * -1 plot(vare.cap) Cheers, Mark. Rodrigo Aluizio wrote: Well this time I have to assume, I'm not understanding what is wrong now. And I have to say: 'Thank You for your patience', cause I'm going crazy here! :-) Mark, I tried this: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 and got this: Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Here is the script until this point library(vegan) library(xlsReadWrite) #FT--# PotiAbioFT-read.xls('FatorialReplica.xls',sheet=4,rowNames=T) PotiBioFT-read.xls('FatorialReplica.xls',sheet=6,rowNames=T) attach(PotiAbioFT) LogPotiBioFT-log(PotiBioFT+1) CAPpotiFT-capscale(t(LogPotiBioFT)~Envoronmental+Variables,dist=bray,add=T) PermCAPFT-anova.cca(CAPpotiFT,alpha=0.05,model='full',first=F,permutations=999) PermCAPFT summary(CAPpotiFT) # Rotating the axis CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 -- Sent: Tuesday, October 07, 2008 5:17 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Yes it does, but this will work. You have erroneously used a , in your call, it should be a ., if anything. You have also inserted cca... And the axes being switched must be conformant: CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 ## you are writing axis 1 over axis 2; and there is no ...,cca... Erro: unexpected ',' in for(i in c(2:8,15)) ## unexpected comma CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, ## Using your example to switch axis 1. Make sure that CAPpotiFT exists and is your ## original object. Copy and paste the lines below into your R console window and run CAPpotiFTI - CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][, 1]-CAPpotiFTI$CCA[[i]][, 1] * -1 Cheers, Mark. Rodrigo Aluizio wrote: [[elided Yahoo spam]] Ah well, I tried the this other way, but it gave me an error. Something in the syntax, I tried to change something but didn't fix the error. CAPpotiFTI-CAPpotiFT for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI,cca$CCA[[i]][,1]*-1 Erro: unexpected ',' in for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,2]-CAPpotiFTI, for(i in c(2:8,15)) CAPpotiFTI$CCA[[i]][,1]-CAPpotiFTI$CCA[[i]][,1]*-1 Erro em CAPpotiFTI$CCA[[i]] : índice fora de limites (index out of limits) Well, it needs lots of patience... -- Sent: Tuesday, October 07, 2008 3:50 PM To: r-help@r-project.org Subject: Re: [R] Mirror Image on Biplot Graphic Hi Rodrigo, Again an error, as that doesn't touch one of the data structures. You need to extend the range to include #15, as below: ## This does axis 2 mynew.cca - my.cca for (i in c(2:8,15)) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 Cheers, Mark. Mark Difford wrote: Hi Rodrigo, I looked through my scripts and found my old hack. __WARNING__: Be very careful to check that the mirror isn't broken and that all is in order! Make sure that you are reversing the axes you want. In your original post you mention axis 2, i.e. y-axis. Below you have used axis 1. ## This does axis 2 mynew.cca - my.cca for (i in 2:8) mynew.cca$CCA[[i]][, 2] - mynew,cca$CCA[[i]][, 2] * -1 plot(mynew.cca) ## This does axis 1 for (i in 2:8) mynew.cca$CCA[[i]][, 1] - mynew,cca$CCA[[i]][, 1] * -1 Regards, Mark. Rodrigo Aluizio wrote: Ok Mark, it worked for the species. I still get an error if I try with biplot (cn,sp), but it's not a problem, repositioning the species is enough. Thanks once again. Just for future consults the error that still remains
[R] Mirror Image on Biplot Graphic
He everybody, Well I have a biplot CCA-like origined from plot.cca (vegan package). I need to rotate on y axis the lines and symbols of constrained and sites representation. If I do that on an image editor, I rotate everything, including titles, axes labels and positions. I just need to rotate the inner par and keep the variables names (constrained) and symbols in the new positions but with the right direction. So, is there on R a way to do that while creating the image? Here is the code that generate the graphic. plot.cca(CAPpotiFT,type='none',display=c('bp','sites'),main='Total Fauna Sites x Environment') text.cca(CAPpotiFT,dis='cn',col='black',cex=0.6,lwd=0.5,lty='dotted') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='1',],pch=21) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='2',],pch=20) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='3',],pch=22,bg='gray') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='4',],pch=24) points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='5',],pch=24,bg='black') points(ScoresCAPFT$sites[FatoresRep$BiofaciesBC=='6',],pch=25,bg='gray') Thanks in advice. ___ MSc. Rodrigo Aluizio Centro de Estudos do Mar/UFPR Laboratório de Micropaleontologia Avenida Beira Mar s/n - CEP 83255-000 Pontal do Paraná - PR - BRASIL Fone: (0**41) 3455-1496 ramal 217 Fax: (0**41) 3455-1105 [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.