确定 R 中两个栅格之间的 r2 的正确方法

Correct way of determining r2 between two rasters in R

我试图找到两个栅格之间的 r2。例如我有两个栅格 r1 和 r2,哪个代码计算了 r2?

cor(values(r1), values(r2), use="complete.obs", method = 'pearson')

堆叠栅格并将其转换为数据帧并找到 r2。

stack1 <- stack(r1, r2)
df1 <- data.frame(na.omit(values(stack1)))
head(df1)
valueofdf1 = lm(gc ~ vc, data=df1)
summary(valueofdf1)$r.squared 

两个程序给出了不同的 r2。这就是为什么我很困惑。我不想找到相关性,但我想找到两个栅格之间的 r2 值。

首先,cor 不是 return R^2,而是 R。 如评论中所述,您将获得预期的输出,因为 R2 = R*R.

因此,这两种方法都可以互换(出于所有实际原因),只要您进行必要的调整即可。