簡體   English   中英

如何在 r 中建立非對稱相關?

[英]How can I make an asymmetric correlation in r?

有時我曾經將psych::corr.test function 與兩個數據框一起使用,例如:

df1 <- tibble(a=c(1,2,4,5,67,21,21,65,1,5), b=c(21,5,2,6,8,4,2,6,2,2))

df2 <- tibble(a=c(1,2,3,4,5,6,7,8,9,8), b=c(1,6,54,8,3,8,9,5,2,1), c=c(1,4,6,8,5,3,9,7,5,4))

corr <- corr.test(df1,df2, adjust = "BH")

我從corr$p.adj獲取 p 值但有時它會給我奇怪的重復 p.values,例如:

          a         b         c
a 0.5727443 0.5964993 0.5727443
b 0.2566757 0.5727443 0.2566757

有誰知道這些 p 值有多合適? 我們可以用corr.test做到這一點嗎? 如果沒有,我怎樣才能進行不對稱相關?

我強調如果我嘗試執行對稱相關

df <- bind_cols(df1,df2[-3])
corr <- corr.test(df, adjust = "BH")

它的 p 值不那么重復:

Probability values (Entries above the diagonal are adjusted for multiple tests.) 
      a...1 b...2 a...3 b...4
a...1  0.00  0.97  0.62  0.72
b...2  0.97  0.00  0.38  0.62
a...3  0.39  0.06  0.00  0.62
b...4  0.60  0.40  0.41  0.00

UPD:好的,我意識到它和第一個一樣重復而且我有點愚蠢。

BH 校正基於計算n/i * p的累積最小值,其中p具有您的n = 6未調整的 p 值,按降序排列,而i6:1 (你可以在psych::p.adjust中看到計算。)

因為它是一個累積的最小值(即第一個值,然后是第一個和第二個的最小值,然后是第一個到第三個的最小值,等等)可能會有重復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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