No.07051 偏相関分析について  【R初心者】 2008/07/17(Thu) 13:27

住民健診データについて,Sex,Ageの影響を除いた相関分析を行いたいと思っていますが,用意されているコードがあれば,教えてください。

No.07052 Re: 偏相関分析について  【R初心者】 2008/07/17(Thu) 14:38

http://aoki2.si.gunma-u.ac.jp/R/my-cor.html
を研究してみます。

No.07053 Re: 偏相関分析について  【R初心者】 2008/07/17(Thu) 15:06

partial.cor <- function(x)                                      # データ行列
{
x <- subset(x, complete.cases(x)) # 欠損値を持つケースを除く
i <- solve(cor(x)) # 相関係数行列の逆行列
d <- diag(i) # 対角成分
i <- -i/sqrt(outer(d, d)) # 偏相関係数行列
diag(i) <- NA # 対角成分は未定義
rownames(i) <- colnames(i) <- paste("Var", 1:ncol(x))
return(i)
}
が使えました。左下半分が,偏相関係数ですね。ありがとうございました。

No.07054 Re: 偏相関分析について  【R初心者】 2008/07/17(Thu) 15:52

4つの変数の表
Sex	Age	FBS	TCHO
2 63.75999832 90 220
2 59.38999939 102 222
・・・・・・
をaに入力し,
partial.cor(a)
Var 1 Var 2 Var 3 Var 4
Var 1 NA -0.19025191 -0.09243486 0.23501915
Var 2 -0.19025191 NA 0.13647586 0.08892413
Var 3 -0.09243486 0.13647586 NA 0.03329872
Var 4 0.23501915 0.08892413 0.03329872 NA
となりました。
例えば,-0.19025191は,Var2,Var1の間の偏相関係数(Var3,Var4の影響を除いた)ということなのでしょうか?

No.07056 Re: 偏相関分析について  【R初心者】 2008/07/17(Thu) 16:17

>例えば,-0.19025191は,Var2,Var1の間の偏相関係数(Var3,Var4の影響を除いた)ということなのでしょうか?:この解釈で良いことがわかりました。
以下,結果です。
偏相関係数を用いてt値を計算しました。単相関の場合より,有意差が高くなりました。
これは,あって良いでしょうか。
			2003	2004	2005
単相関t値 TCHO FBS 0.9873729 3.803465 3.90183
偏相関t値 TCHO FBS 1.684414114 4.541730568 4.974573605
n 2558 2412 2326

No.07060 Re: 偏相関分析について  【R初心者】 2008/07/18(Fri) 09:52

http://www.mus-nh.city.osaka.jp/iso/argo/nl13/nl13-3-23.pdf
に参考となる説明がありますが,,
偏相関分析での相関係数の有意性は単相関と同じようにしてよい,と考えてよろしいでしょうか?たとえば,df=n-2など。
t <- r*sqrt((n-2)/(1-r^2))
df<-n-2
p <- pt(t, df, lower.tail=FALSE)*2

No.07061 Re: 偏相関分析について  【青木繁伸】 2008/07/18(Fri) 10:44

以下を参照
http://aoki2.si.gunma-u.ac.jp/lecture/Corr/p-corr.html

No.07062 Re: 偏相関分析について  【R初心者】 2008/07/18(Fri) 11:47

dfについて,わかりました。
2003,2004,2005の住民健診で,
TCHO(総コレステロール値)と FBS(空腹時血糖)の間について,治療中でない人について以下のようになりました。
年         2003 2004 2005
単相関t値 0.99 3.80 3.90
偏相関t値 1.68 4.54 4.97(2つを制御,Sex,Age)
n 2558 2412 2326
の場合に
p_value
単相関 0.32 0.0001,9.8181E-05
偏相関  0.09 0.00000585 0.000000702
と,なりました。
こ の場合,2003,2004の間のデータは,同じ地域ですが,別の,お互い独立したデータとした場合,偏相関で,2003と2004,2004と2005 の間の有意差の差は0.09と0.000005です。2003,2004,2005の間の偏相関の互いの比較はできますか?

No.07063 Re: 偏相関分析について  【青木繁伸】 2008/07/18(Fri) 11:57

以下を参照
http://aoki2.si.gunma-u.ac.jp/lecture/Corr/corr4.html
検定の多重性に注意

No.07066 Re: 偏相関分析について  【R初心者】 2008/07/18(Fri) 14:46

2003vs2004:x2=4.32681924 1 0.03751629
2004vs2005:x2=0.13348303 1 0.7148477 0. 09729047
と計算されました。

No.07067 Re: 偏相関分析について  【青木繁伸】 2008/07/18(Fri) 14:58

結果なんか見せてもらっても何にもならない。。。

● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る