Сравните корреляцию между разными методами - PullRequest
0 голосов
/ 08 мая 2020

1 / Учитывая следующую таблицу, я протестировал три различных метода (ПЦР, TECH_A и TECH_B). Идея состоит в том, чтобы увидеть, как TECH_A и TECH_B сравниваются с ПЦР при обнаружении специфического гена c. Я имею в виду, если они согласны.

N эквивалентно «-» (отрицательное значение). Например, первая строка говорит, что PCR была отрицательной. TECH_a и tech_A были отрицательными, поэтому они возвращают тот же результат, что и отрицательный.

> dat
# A tibble: 5 x 4
# Groups:   PCR [2]
  PCR   TECH_A TECH_B CASES
  <chr> <chr>  <chr>  <int>
1 N     -      -          1
2 N     -      +         23
3 N     +      +          8
4 P     -      +          2
5 P     +      +          4

Вот данные:

dat <- 
structure(list(PCR = c("N", "N", "N", "P", "P"), TECH_A = c("-", 
"-", "+", "-", "+"), TECH_B = c("-", "+", "+", "+", "+"), CASES = c(1L, 
23L, 8L, 2L, 4L)), row.names = c(NA, -5L), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"), na.action = structure(c(`2` = 2L, 
`6` = 6L, `8` = 8L, `10` = 10L, `12` = 12L, `15` = 15L, `18` = 18L, 
`20` = 20L, `22` = 22L, `24` = 24L, `26` = 26L, `28` = 28L, `30` = 30L, 
`31` = 31L, `34` = 34L, `35` = 35L, `38` = 38L, `39` = 39L, `42` = 42L, 
`44` = 44L, `46` = 46L, `48` = 48L, `50` = 50L, `52` = 52L, `54` = 54L, 
`56` = 56L, `58` = 58L, `60` = 60L, `62` = 62L, `64` = 64L, `67` = 67L, 
`69` = 69L, `71` = 71L), class = "omit"), groups = structure(list(
    PCR = c("N", "P"), .rows = list(1:3, 4:5)), row.names = c(NA, 
-2L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE))

Есть идеи, как сравнить две последние технологии с ПЦР и посмотреть, коррелируют они или нет ??

1 Ответ

1 голос
/ 09 мая 2020

Корреляция между двумя двоичными значениями похожа на точность, я думаю (многие согласны). Кроме того, вы также можете посмотреть на частоту ложных срабатываний, ложноотрицательных и т. Д. c, в зависимости от того, что более важно для вашего случая.

Ниже я провел сравнение ПЦР и Tech A / Tech B, используя матрицу путаницы чтобы в основном отсортировать статистику для каждой техники, и вы можете увидеть, что Tech A согласен с PCR ..

Сначала для TECH_A:

cm = table(rep(dat$PCR,dat$CASES),rep(dat$TECH_A,dat$CASES))
# rename for convenience
rownames(cm) = c("-","+")

             Accuracy : 0.7368        
                 95% CI : (0.569, 0.866)
    No Information Rate : 0.6842        
    P-Value [Acc > NIR] : 0.3062        

                  Kappa : 0.2963        

 Mcnemar's Test P-Value : 0.1138        

            Sensitivity : 0.9231        
            Specificity : 0.3333        
         Pos Pred Value : 0.7500        
         Neg Pred Value : 0.6667        
             Prevalence : 0.6842        
         Detection Rate : 0.6316        
   Detection Prevalence : 0.8421        
      Balanced Accuracy : 0.6282  

Затем для B:

cm = table(rep(dat$PCR,dat$CASES),rep(dat$TECH_B,dat$CASES))
rownames(cm) = c("-","+")



Confusion Matrix and Statistics

     -  +
  -  1 31
  +  0  6

               Accuracy : 0.1842          
                 95% CI : (0.0774, 0.3433)
    No Information Rate : 0.9737          
    P-Value [Acc > NIR] : 1               

                  Kappa : 0.0101          

 Mcnemar's Test P-Value : 7.118e-08       

            Sensitivity : 1.00000         
            Specificity : 0.16216         
         Pos Pred Value : 0.03125         
         Neg Pred Value : 1.00000         
             Prevalence : 0.02632         
         Detection Rate : 0.02632         
   Detection Prevalence : 0.84211         
      Balanced Accuracy : 0.58108         

       'Positive' Class : -       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...