spca | R Documentation |
Performs PCA for a stack of raster layers.
spca(
layers_stack,
layers_to_proj = NULL,
pca_obj = NULL,
sv_dir = NULL,
layers_format = ".asc",
sv_proj_dir = NULL
)
layers_stack |
A RasterStack of environmental variables |
layers_to_proj |
A RasterStack of the environmental variables that will be projected (default NULL). If provided
the function will project the PCA for those layers by using the PCA object computed for the |
pca_obj |
An object of class |
sv_dir |
A directory where the PCs will be saved. If NULL the PCs will not be written. |
layers_format |
A raster format for writing PCA results (see |
sv_proj_dir |
A directory where the PCs projection will be saved. If NULL the PCs will be written inside sv_dir. |
spca uses the function prcomp
of the stats
package. If sv_dir
is provided the PCs
and pca_obj
will be stored on it. The names of the layers in layers_to_proj
need to be named
with exactly the same names of those either inlayers_stack
or the pca_obj
.
A list containing either the raster stack with Principal Components of layers_stack
or layers_to_proj
,
a barplot of the cumulative and explained variance of each compoent of layers_stack
and a prcomp
object(pca_obj
).
# -------------------------------------------------------------------
# A PCA on layers_stack without saving.
layers_stack <- raster::stack(list.files(system.file("extdata",
package = "ntbox"),
pattern = "M_layers.tif$",
full.names = TRUE))
pcs <- spca(layers_stack, sv_dir=NULL,layers_format=NULL)
raster::plot(pcs$pc_layers)
## Not run:
# -------------------------------------------------------------------
# PCA projection without saving.
layers_to_proj <- raster::stack(list.files(system.file("extdata",
package = "ntbox"),
pattern = "G_layers.tif$",
full.names = TRUE))
pcs_with_proj <- spca(layers_stack =layers_stack,
layers_to_proj = layers_to_proj,
pca_obj = NULL,
sv_dir=NULL,layers_format=NULL)
# Barplot of the Cumulative and explained variance in each component,
print(pcs_with_proj$pca_plot)
## End(Not run)
# -------------------------------------------------------------------
# PCA projection and saving.
## Not run:
pcs_with_proj_sv <- spca(layers_stack =layers_stack,
layers_to_proj = layers_to_proj,
pca_obj = NULL,
sv_dir=".",layers_format=".asc")
## End(Not run)
# -------------------------------------------------------------------
# PCA projection, saving and using the pca_obj.
## Not run:
pca_obj <- base::readRDS(list.files(system.file("extdata",
package = "ntbox"),
pattern = ".rds$",
full.names = TRUE))
pcs_with_proj_sv <- spca(layers_stack =NULL,
layers_to_proj = layers_to_proj,
pca_obj = pca_obj,
sv_dir=".",layers_format=".tif")
raster::plot(pcs_with_proj_sv$pcs_layers_projection)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.