作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个要在 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,然后保存输出模型,以便我可以进行预测对于每个网格单元......也许不是最好的解决方案,但它有效:
rasters <- stack(myRasters)
sr <- sampleRandom(rasters, 5000) # sample 5000 random grid cells
# run PCA on random sample with correlation matrix
# retx=FALSE means don't save PCA scores
pca <- prcomp(sr, scale=TRUE, retx=FALSE)
# write PCA model to file
dput(pca, file=paste("./climate/", name, "/", name, "_pca.csv", sep=""))
x <- predict(rasters, pca, index=1:6) # create new rasters based on PCA predictions
关于r - 在 R 中使用栅格数据集的 PCA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19866009/
我是一名优秀的程序员,十分优秀!