[英]corLocal in R for Pearson or kendall correlation P and slope
我正在嘗試在 2 個堆棧上運行 corLocal(平均溫度,春季一年中的某一天 - 超過 17 年。即 17 個 tiff 文件用於臨時,17 個 tiff 文件用於一年中的某一天)。 我使用了以下行
p<-corLocal(stack1,stack2,method="kendall") ##或皮爾遜
我想獲得 p 值和 sens 斜率值作為 2 個單獨的柵格,但我不確定我的 output 是什么 - 它的范圍在 -0.5 和 0.5 之間。 謝謝,
p<-corLocal(stack1,stack2,method="kendall") p 值和斜率值 2 個單獨的柵格文件
示例數據
library(terra)
set.seed(0)
s <- r <- rast(ncol=10, nrow=10, nlyr=17)
values(r) <- runif(size(r))
values(s) <- runif(size(s))
sr <- sds(r,s)
獲取每個單元格(跨 17 層)的 Kendall 相關系數。
ken <- lapp(sr, \(x,y) {
out <- rep(NA, nrow(x))
for (i in 1:nrow(x)) {
out[i] <- cor(x[i,], y[i,], "kendall", use="complete.obs")
}
out
})
並獲得 p 值
pken <- lapp(sr, \(x,y) {
out <- rep(NA, nrow(x))
for (i in 1:nrow(x)) {
out[i] <- cor(x[i,], y[i,], "kendall", use="complete.obs")
out[i] <- cor.test(x[i,], y[i,], method="kendall", use="complete.obs")$p.value)
}
out
})
為了完整起見:可以使用corLocal
方法(在“terra”中稱為focalPairs
)來計算層之間的焦點相關性。
library(terra)
r <- rast(system.file("ex/logo.tif", package="terra"))
set.seed(0)
r[[1]] <- flip(r[[1]], "horizontal")
r[[2]] <- flip(r[[2]], "vertical") + init(rast(r,1), runif)
r[[3]] <- init(rast(r,1), runif)
肯德爾相關系數和 p 值
x <- focalPairs(r, w=5, \(x, y) cor(x, y, "kendall", use="complete.obs"))
y <- focalPairs(r, w=5, \(x, y) cor.test(x, y, method="kendall", use="complete.obs")$p.value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.