
いつもこちらではお世話になっております。
媒介分析をするにあたり、相関係数を算出したいと思っています。
曜日 → 治療内容 → アウトカム
において、まず
曜日 → アウトカム
の関連を調べたいです。
(下記のようなデータです)
(do = 治療内容)
(Fri,Sat,Sunのいずれかに1が入り、他は0になります)
(do,outcomeは1 or 0の値をとります)
曜日(Fri,Sat,Sun)は名義尺度なのでこういった形をとりましたが、
曜日 → アウトカム
の相関係数の算出のやり方が分かりません。
(名義尺度ではなく、1~3位などの順位なら簡単なのですが)
実際のデータは数万行あります。
使用ソフトはRです。
よろしくお願いします。
Fri Sat Sun do outcome
1 0 0 1 1
1 0 0 1 1
1 0 0 1 1
0 1 0 0 1
0 1 0 0 1
0 0 1 0 1
0 0 1 0 0
0 0 1 1 0
0 0 1 1 0
No.5
- 回答日時:
#3です。
下の方の
p <- polychor(・・・
をスピアマンに変更すれば、その値が表示されます。
その際は”ポリコリック相関 r=”も変更して下さいませ。
あと、データが数万あるとのことですので、
# バブルの大きさ感の指定
の箇所でもっと大きな値で割って(今は10)、大きさを調整して下さい。
No.2
- 回答日時:
アウトカムが5件法とか7件法なら、Point Bisreal(点双列相関)あるいはスピアマンかもしれませんが、二値対二値なら、テトラコリック相関です。
library(MASS)
library(polycor)
polychor(x1, x2, ML = TRUE)
No.1
- 回答日時:
ダミー変数で表現された曜日とアウトカムの間の相関係数を算出する方法は、以下の通りです。
ライブラリの読み込み
まず、Rの"stats"ライブラリを読み込みます。
R
Copy code
library(stats)
相関係数の算出
"cor"関数を使用して、曜日とアウトカムの相関係数を算出します。ダミー変数を使っているため、相関係数はピアソンの積率相関係数ではなく、ポイントビスリアル相関係数を用いる必要があります。
R
Copy code
df <- read.csv("your_data.csv") # データの読み込み
cor(df[,c("Fri","Sat","Sun")], df$outcome, method = "spearman")
このコードでは、"Fri"、"Sat"、"Sun"の列と"outcome"の列の間のポイントビスリアル相関係数が算出されます。
解釈
得られた相関係数の値は、-1から1の間の値をとります。値が正であれば正の相関が、負であれば負の相関があることを示し、絶対値が大きいほど強い相関があることを示します。相関係数が0に近ければ、相関はほとんどないと言えます。
以上の方法で、ダミー変数を使用して名義尺度のデータに対する相関係数を算出することができます。
R codeまでありがとうございます。
追加でお伺いしたいのですが、下記のような結果が出ました。
Fri Sat Sun
Fri 1.0000000 -0.1581139 -0.2390457
Sat -0.1581139 1.0000000 -0.1889822
Sun -0.2390457 -0.1889822 1.0000000
(web上に書き込むとどうしても文字がずれてしまいます。すいません。)
(この結果自体はサンプルデータなので相関が無くても問題ありません)
FriとSatのみで相関係数を出してみたとこと、-0.1581139と同じ数値が出てきました。
同じく、FriとSunでは-0.2390457でした。
そのため、この1行目は「Fri-Fri, Fri-Sat, Fri- Sun」のそれぞれの相関係数を示していると思われるのですが、「outcome」との関連はどこで解釈できるのでしょうか?
「df$outcome」とあるので、outcomeも関連しているとは思うのですが、分からなかったので追加で質問させていただきました。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報
ちょっと仕事で忙しかった間に、たくさんのコメントありがとうございます。
時間をかけて読ませていただき、ちゃんとお礼をさせていただきますので、少々お待ちください。