[英]calculating a correlation coefficient for a binary variable in r
Dataframe1: group "N"
ID A B score
1 pos pos AB
1 neg pos B
2 neg neg Neg
3 neg pos B
4 neg neg Neg
5 neg neg Neg
5 pos neg A
5 neg pos B
Combined dataframe
AB A B Neg
N 440 54 67 345
O 3 6 56 543
P 23 25 3 765
R 4 5 67 243
我有 4 個隊列 (NOPR),它們有成對的測試(A 和 B)。 所有人都進行了 A 和 B 測試。 有些在兩項測試 (AB) 中均呈陽性,有些僅在一項測試 (A 或 B) 中呈陽性。 我想回答兩個問題: 1. 測試 A 對每個隊列的潛在陽性率增加了多少? 2. A 和 B 多久關聯一次每個群組?
為了分析測試(AB)之間的相關性,我嘗試了計算 Phi 系數。 我遵循了@akrun 在另一篇文章中的建議,但無法讓它發揮作用。
combn(df, 2, FUN = function(x) Phi(x[,1], x[,2]))
關於如何計算這個的任何建議?
它不起作用,因為您的數據的組織方式不同。 您的每一行數據都是一個完整的 2x2 表格。 使用dput
將您的數據放入我們可以輕松閱讀的格式。 然后我們可以剪切/粘貼它:
dta <- structure(list(AB = c(440L, 3L, 23L, 4L), A = c(54L, 6L, 25L,
5L), B = c(67L, 56L, 3L, 67L), Neg = c(345L, 543L, 765L, 243L
)), class = "data.frame", row.names = c("N", "O", "P", "R"))
dfa
# AB A B Neg
# N 440 54 67 345
# O 3 6 56 543
# P 23 25 3 765
# R 4 5 67 243
dfa 的第一行是一個表格,所以對於 N:
N <- matrix(unlist(dfa[1, ]), 2, 2, byrow=TRUE, dimnames=list(A=c("Pos", "Neg"), B=c("Pos", "Neg")))
N
# B
# A Pos Neg
# Pos 440 54
# Neg 67 345
我們可以使用apply
來獲取所有的 Phi 系數:
apply(dfa, 1, function(x) Phi(matrix(x, 2)))
# N O P R
# 0.73028594 0.09784794 0.63669678 0.09088293
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.