I have a data set it has a binary disease (0/1) variable, and an ordinal new scoring tool (1-5) which i am trying to validate, using roc analyses.
The new test was piloted on a set of data that consists of lesions within people, meaning there are 59 people and 142 lesions-- so some people only have one lesion and some people have more than one lesion, consequently I must use a model that accounts for the inherent clustering of my data.
There are also person level data such as race, age, medical history etc, for which i would like to compare the ROC curves of the new scire within levels of these demographic variables.
Consequently, I have been working with rocreg and rocregplrot which allow for the option of cluster(). However, my challenge is I am struggling with findings a way to do a comparable test to roccomp, by() while using rocreg/rocregplot.
I am able to generate the AUC values, but not in a way that I can directly compare them to each other, and not in a figure...
This gives me the AUC and a single plot of the score ROC within r1=1 (r1 is one dummy variable i have for race):
xi:rocreg dz score if r1==1, tiecorrected cluster(patientid) probit
xi:rocregplot , classvars(score) xtitle("1-Specificity") ytitle("Sensitivity") legend(label "White"))
This gives me the AUC and a single plot of the score ROC withint r2=1 , but i cannot get these two plots on one graph and i cannot find a way to directly compare the two ROC curves
xi:rocreg dz score if r1==2, tiecorrected cluster(patientid) probit
xi:rocregplot , classvars(score) xtitle("1-Specificity") ytitle("Sensitivity") legend(label "African American"))
using roccomp is so intuitive and so easy.. but the problem is it does not account for my clustered data:
roccomp dz score, by(RACE) summary
local pvalue = round(r(p), 0.0001)
roccomp dz score , by(RACE) graph legend(label(1 "Caucasian") label(2 "African American") label(3 "Unknown") col(1) subtitle("Race") ring(0) position(4) bmargin(large)) note("p-value for ROC ChiSquare comparison: 0`pvalue'")
any suggestions? advice? thank you.
The new test was piloted on a set of data that consists of lesions within people, meaning there are 59 people and 142 lesions-- so some people only have one lesion and some people have more than one lesion, consequently I must use a model that accounts for the inherent clustering of my data.
There are also person level data such as race, age, medical history etc, for which i would like to compare the ROC curves of the new scire within levels of these demographic variables.
Consequently, I have been working with rocreg and rocregplrot which allow for the option of cluster(). However, my challenge is I am struggling with findings a way to do a comparable test to roccomp, by() while using rocreg/rocregplot.
I am able to generate the AUC values, but not in a way that I can directly compare them to each other, and not in a figure...
This gives me the AUC and a single plot of the score ROC within r1=1 (r1 is one dummy variable i have for race):
xi:rocreg dz score if r1==1, tiecorrected cluster(patientid) probit
xi:rocregplot , classvars(score) xtitle("1-Specificity") ytitle("Sensitivity") legend(label "White"))
This gives me the AUC and a single plot of the score ROC withint r2=1 , but i cannot get these two plots on one graph and i cannot find a way to directly compare the two ROC curves
xi:rocreg dz score if r1==2, tiecorrected cluster(patientid) probit
xi:rocregplot , classvars(score) xtitle("1-Specificity") ytitle("Sensitivity") legend(label "African American"))
using roccomp is so intuitive and so easy.. but the problem is it does not account for my clustered data:
roccomp dz score, by(RACE) summary
local pvalue = round(r(p), 0.0001)
roccomp dz score , by(RACE) graph legend(label(1 "Caucasian") label(2 "African American") label(3 "Unknown") col(1) subtitle("Race") ring(0) position(4) bmargin(large)) note("p-value for ROC ChiSquare comparison: 0`pvalue'")
any suggestions? advice? thank you.
Comment