2017-07-31 13 views

答えて

3

でcor.test()関数内のp値の計算の背後にある方法論は、ピアソンの相関のp値を算出し、コードがある見つけることができません。

x <- c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1) 
y <- c(2.6, 3.1, 2.5, 5.0, 3.6, 4.0, 5.2, 2.8, 3.8) 
ct = cor.test(x, y, method = "pearson") 
ct$p.value ## this is what cor.test() gives 

n <- length(x) 
r <- cor(x, y) 
df <- n - 2 
t = sqrt(df) * r/sqrt(1 - r^2) 
pval = 2 * min(pt(t, df), pt(t, df, lower.tail = FALSE)) ## this is calculated manually 

ct$p.value == pval 
+0

こんにちはAK88、あなたの答えに感謝します。私が探しているのは$ p.valueの背後にある数式です。 – DataAdventurer

+1

'p.value'の背後にある式は、' 'sqrt(df)* r/sqrt(1 - r^2)'という式を使って 't-statistic'を見つけます。そして、この「t統計量」の上限および下限確率を抽出する。これらの確率から最小値を取って、2を掛けます。これは、分布の両方のテールを取る必要があるからです。これは明確ですか? – AK88

+0

私は式のソースを教えてくれますか?私はインターネット上でそれを見つけることができません。 – DataAdventurer

関連する問題