[R] ROCR for combination of markers
Eik Vettorazzi
E.Vettorazzi at uke.uni-hamburg.de
Thu Apr 28 17:36:46 CEST 2011
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 function Epi
> 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>/* 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 at r-project.org
> Date: Thursday, 28 April, 2011, 13:11
>
> ... and additionally, 'ROC' from the Epi package does the second step
> 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 power for
> > several combinations of markers. You can create a ROC curve for a
> > combination of markers by using the predicted risks eg. from a
> logistic
> > regression model.
> >
> > To compare ROC curves of competing markers you can use 'roc.area.test'
> > 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 marker.
> >> 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
> <http://uk.mc1120.mail.yahoo.com/mc/compose?to=R-help@r-project.org>
> mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> <http://www.r-project.org/posting-guide.html>
> >> and provide commented, minimal, self-contained, reproducible code.
> >
>
--
Eik Vettorazzi
Department of Medical Biometry and Epidemiology
University Medical Center Hamburg-Eppendorf
Martinistr. 52
20246 Hamburg
T ++49/40/7410-58243
F ++49/40/7410-57790
More information about the R-help
mailing list