Amom--
If your PCA axis scores are centered (mean=0) as is customary, simply
standardize each one to range -0.5:0.5 or -128:127 (with floor to convert
to integers), and then add 0.5 or 128 to center at 0.5 or 127.
Assuming that you're trying to false-color plot the first 3 PCA axes, the
decision you need to make is whether you want to standardize each axis
independently, so that each ranges from 0:255, or whether you want to
standardize the axis with the greatest range to 0:255, then use that
scaling on the other 2 axes to reflect their reduced variation.  Either way
is 'correct', they emphasize different variation in your data.

Depending on the format of your PCA data, you may need to *apply the range
function.  If PCA is an X by 3 matrix with PCA axes as columns, something
like:
Ranges <- apply(PCA,FUN=range,MARGIN=2)
scaledPCA <- scale(PCA,center=rep(-.5,3),scale=Ranges)
should work.
If you want all axes scaled by the longest axis, then something like:
maxRange <- max(apply(PCA,FUN=range,MARGIN=2))
scaledPCA <- scale(PCA,center=rep(-0.5,3),scale=rep(maxRange,3))
might work.  [Note that you could modify this if you needed to scale by
eigenvalues.]

If your PCA values are already in a RasterStackBrick object named PCAbrick,
scale has a method for Raster* objects, but you need to use cellStats
rather than apply and range:
Ranges <- cellStats(PCAbrick,stat='range')
scaledPCAbrick <- scale(PCAbrick,center=c(-0.5,3),scale=Ranges)
[If your raster is "very large", you might have to call cellStats
separately for max and min instead of once for range: see ?cellStats.]

I hope that this is sufficient guidance, and that you can fix any errors in
my untested code.

Tom




On Fri, Aug 9, 2013 at 9:02 AM, amluiz <amommendes@hotmail.com> wrote:

>
>
> Thanks Etienne
> I was trying to plot three PCA axes (each one representing R, G and B
> color bands) in the map, but without success in R. I only can do this in
> GIS software...
> Any suggestion?
>
> Date: Tue, 6 Aug 2013 13:51:55 -0700
> From: ml-node+s2731867n7584357h83@n2.nabble.com
> To: amommendes@hotmail.com
> Subject: Re: plotRGB - negative values
>
>
>
>         Amom, you could probably offset your values and make sure you set
> scale to
>
> the right value. If your lowest value is 1 and the highest value then
>
> becomes 2, then something like
>
> plotRGB(all.pca + 1, scale = 2)
>
>
> I don't think you can use negative values in plotRGB.
>
>
> Etienne
>
>
>
> 2013/8/6 amluiz <[hidden email]>
>
>
> > Hello,
>
> >
>
> > I'm trying to use plotRGB. But I've negative values in my rasters cells
> and
>
> > I get the following error:
>
> >
>
> > plotRGB(all.pca)
>
> > Error in rgb(RGB[, 1], RGB[, 2], RGB[, 3], alpha = alpha, max = scale) :
>
> >   color intensity -1, not in 0:255
>
> >
>
> > Is there some way to solve this?
>
> >
>
> > Thanks in advance,
>
> >
>
> > Amom
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > --
>
> > View this message in context:
>
> >
> http://r-sig-geo.2731867.n2.nabble.com/plotRGB-negative-values-tp7584356.html
> > Sent from the R-sig-geo mailing list archive at Nabble.com.
>
> >
>
> > _______________________________________________
>
> > R-sig-Geo mailing list
>
> > [hidden email]
>
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
>
> R-sig-Geo mailing list
>
> [hidden email]
>
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
>
>
>
>
>
>
>
>
>
>                 If you reply to this email, your message will be added to
> the discussion below:
>
> http://r-sig-geo.2731867.n2.nabble.com/plotRGB-negative-values-tp7584356p7584357.html
>
>
>
>                 To unsubscribe from plotRGB - negative values, click here.
>
>                 NAML
>
>
>
>
> --
> View this message in context:
> http://r-sig-geo.2731867.n2.nabble.com/plotRGB-negative-values-tp7584356p7584378.html
> Sent from the R-sig-geo mailing list archive at Nabble.com.
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

	[[alternative HTML version deleted]]

