我有几个想要在 PCA 中处理的大型栅格(以生成汇总栅格)。我见过几个例子,人们似乎只是简单地调用 prcomp 或 princomp。但是,当我这样做时,我收到以下错误消息:
Error in as.vector(data): no method for coercing this S4 class to a vector
示例代码:
files<-list.files() # a set of rasters
layers<-stack(files) # using the raster package
pca<-prcomp(layers)
我曾尝试使用光栅砖而不是堆栈,但这似乎不是问题。我需要提供什么方法才能将栅格数据转换为矢量格式?我知道有一些方法可以对光栅进行采样并从中运行 PCA,但我真的很想了解为什么上述方法不起作用。
谢谢!