Hi Eik
It seems plot.roc function below plots sensitivity vs specificity, but
not (1-sensitivity) vs specificity. As you said it gives CIs of AUC, but
is there a way to get it for (1-sensitivity) vs specificity?
Thanks
Rasanga
--- On *Thu, 28/4/11, Eik Vettorazzi
/<E.Vettorazzi at uke.uni-hamburg.de>/* wrote:
From: Eik Vettorazzi <E.Vettorazzi at uke.uni-hamburg.de>
Subject: Re: [R] ROCR for combination of markers
To: "Rasanga Ruwanthi" <ruwanthi_kdr at yahoo.com>
Cc: "r-help" <r-help at r-project.org>
Date: Thursday, 28 April, 2011, 17:36
Hi,
today I accidentally stumbled on a new? package named 'pROC', which
might do the job
library(pROC)
out=ROC( form = y1 ~ x + z, plot="ROC")
#calculate the underlying glm from ROC
prd<-predict(glm(y1 ~ x + z,family="binomial"),type="response")
#or use the results from ROC
prd<-out$res$lr.eta[-1]
rocobj <- plot.roc(y1, prd,
main="Confidence intervals", percent=TRUE,
ci=TRUE, # compute AUC (of AUC by default)
print.auc=TRUE) # print the AUC (will contain the CI)
ciobj <- ci.se(rocobj, # CI of sensitivity
specificities=seq(0, 100, 5)) # over a select set of
specificities
plot(ciobj, type="shape", col="#1c61b6AA") # plot as a blue shape
cheers
Am 28.04.2011 17:15, schrieb Rasanga Ruwanthi:
> Many thanks Eik. That was really helpful. I have found ROC
> package draws ROC curve for a combination of markers. What I tried was
>
> library(Epi)
> x <- rnorm( 100 )
> z <- rnorm( 100 )
> w <- rnorm( 100 )
> tigol <- function( x ) 1 - ( 1 + exp( x ) )^(-1)
> y1 <- rbinom( 100, 1, tigol( 0.3 + 3*x + 5*z + 7*w ) )
> out=ROC( form = y1 ~ x + z, plot="ROC",MI=FALSE)
>
> But this function does not produce SE or CI of the AUC or any other
> statistics. Any suggestion to get these?
>
> Thanks again
> Rasanga
>
>
> --- On *Thu, 28/4/11, Eik Vettorazzi
> /<E.Vettorazzi at uke.uni-hamburg.de
>
>
> From: Eik Vettorazzi <E.Vettorazzi at uke.uni-hamburg.de
> Subject: Re: [R] ROCR for combination of markers
> To: "Rasanga Ruwanthi" <ruwanthi_kdr at yahoo.com
> Cc: r-help at r-project.org
> Date: Thursday, 28 April, 2011, 13:11
>
> ... and additionally, 'ROC' from the Epi package does the
> all in one.
>
> Am 28.04.2011 13:01, schrieb Eik Vettorazzi:
> > Hi Rasanga,
> > you may have a look at the 'improveProb' function from the Hmisc
> > package. There you can compare the increase in prognostic
> > several combinations of markers. You can create a ROC curve
> > combination of markers by using the predicted risks eg. from a
> > regression model.
> >
> > To compare ROC curves of competing markers you can use
> > from the 'clinfun' package or 'hanley' from gcl.
> >
> > hth.
> >
> >
> > Am 27.04.2011 23:17, schrieb Rasanga Ruwanthi:
> >> Dear list
> >>
> >> I have 5 markers that can be used to detect an infection in
> combination. Could you please advise me how to use functions in
> ROCR/ other package to produce the ROC curve for a combination of
> markers?
> >>
> >> I have used the following to get ROC statistics for each
> >> pred <- prediction(y$marker1, y$infectn)
> >> perf <-performance(pred,"tpr","fpr")
> >> plot(perf,ave="threshold",spread.estimate="boxplot")
> >>
> >> But I want know whether we could get this for more than one
> marker, so we can look at how good the markers in combination to
> predict the infection. I'm very grateful for any suggestion/help.
> >>
> >> Thanks
> >> Rasanga
> >>
> >>
> >> [[alternative HTML version deleted]]
> >>
> >>
> >>
> >>
> >> ______________________________________________
> >> R-help at r-project.org