1

2 つの患者スコアリング システムの能力と、入院を予測する能力について、sens、spec、npv、および ppv を取得しようとしています。データを説明するには:

「Etriage」は電子トリアージ システム (1 ~ 5 のスコア)、AETriage は対面トリアージ システム (スコア 1 ~ 5) です。承認済みには、要因として 2 つのレベルがあります。0 - 承認されていません。1 - 承認されています。

例えば:

df <- data.frame(
    Etriage=c(2,3,3,5,2,5,3,3,4,3),
    AETriage=c(3,4,4,3,2,4,4,3,4,1), 
    Admitted=c(1,0,0,0,0,0,0,0,0,1))

入場を予測する 2 つのスコア能力を比較したいので、これを行うために pROC を使用しようとしています (データセット全体から取得)。

library(pROC)
auc(df$Admitted, df$AETriage)

ci.auc(df$Admitted, df$AETriage)
ROC_AETriage_Admitted<-roc(df$Admitted,df$AETriage)
print(ROC_AETriage_Admitted)

OperatingValuesAETriage <- coords(ROC_AETriage_Admitted, "all", 
    ret=c("sensitivity","specificity","npv","ppv","threshold"), transpose = FALSE)

print(OperatingValuesAETriage)

2 つの動作レベル (低い視力 = スコア 3-5 および高い視力 = 1-2) をどのようにコーディングし、入院を予測する能力を評価しますか?

ありがとう!

4

1 に答える 1

0

ROC 曲線を作成するには、データをランク付けする必要があるため、テキスト スコア (または係数) を使用することはできません。これは単純なテキストでは自動的に行うことができません (「高」は「低」よりも高いですか? コンピューターはそうではありませんことを知っている)。

ただし、R にはそのためのテキスト データ型があります:順序付けられた factor、pROC によって (ある程度) サポートされています。

df$Etriage_binary <- ordered(
    ifelse(df$Etriage <= 2, "High", "Low"),
    levels = c("Low", "High"))

pROC::auc(df$Admitted, df$Etriage_binary)

しきい値は正確に報告されていませんが、機能しますが、この二分法は不可逆的であり、実際に実行したくない理由がたくさんあります

于 2021-12-08T14:36:09.467 に答える