r - 每个光栅像素的线性回归以预测未来月份(R语言)
问题描述
我已成功运行此代码。我读过它:
library(raster)
# Example data
r <- raster(nrow=15, ncol=10)
set.seed(0)
# Now I make 6 raster (1 raster/months), then assign each pixel's value randomly
s <- stack(lapply(1:6, function(i) setValues(r, rnorm(ncell(r), i, 3))))
names(s) <- paste0('Month', c(1,2,3,4,5,6))
# Extract each pixel values
x <- values(s)
# Model with linreg
m <- lm(Month6 ~ ., data=data.frame(x))
# Prediction raster
p <- predict(s, m)
如果您运行该代码,则 p 将是一个栅格。但是,我还是一头雾水。以后怎么做光栅?例如,我想要基于 6 个先前栅格的“Month8”栅格?
我的意思是,每个像素都有不同的 linreg 方程(其中 X=Month1,...,Months6)。如果我输入 X=Month8,我将在第 8 个月有 150 个 Y 像元,它们代表光栅的每个像素。
我做了什么
# Lets try make a data frame for clear insight for my data
x <- values(s)
DF <- data.frame(x)
# Make X as month, and y is target.
library(data.table)
DF_T <- transpose(DF)
Month <- seq(1,nrow(DF_T))
DF_T <- cbind(Month, DF_T)
# Make prediction for first pixel
V1_lr <- lm(V1 ~ Month, data=DF_T)
# prediction for 8th Months in a pixel
V1_p <- predict(V1_lr, data.frame(Month=8))
V1_p
这只是一个像素。我想要 'Month8' 的整个栅格
解决方案
推荐阅读
- java - 为什么 onCharacteristicRead 读取设置为 readCharacteristic 的不同特征
- flutter - 颤动的firebase身份验证提供者未通知
- spring-boot - 考虑在你的配置中定义一个 'org.springframework.transaction.jta.JtaTransactionManager' 类型的 bean
- javascript - 如何同时显示多个javascript数组
- javascript - 从路由中安全地检索值
- mongodb - MongoDB 3.2 到 3.6 升级性能/缓慢问题
- reactjs - 删除另一个文档后删除文档firebase firestore-react-web
- hadoop - impala 中的自定义健康检查
- r - filter_all 具有相对列位置(在任何列中过滤。然后在 n+2 列中)
- sql-server - SQL 性能:MSSQL 是否优化了日期时间函数的使用,还是将其作为参数传递更好