簡體   English   中英

corLocal in R 用於 Pearson 或 kendall 相關性 P 和斜率

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM