[R] help on ROC analysis
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Mon Dec 31 16:38:33 CET 2007
zhijie zhang wrote:
> Dear all,
> Some functions like 'ROC(Epi)' can be used to perform ROC analyssi, but it
> needs us to specify the fitting model in the argument. Now i have got the
> predicted p-values (0,1) for the 0/1 response variable using some other
> approach, see the following example dataset:
> id mark predict.pvalue
> 1 1 0.927
> 2 0 0.928
> 3 1 0.928
> *mark* is the true classes, *predict.pvalue* is the predicted p-values,
> which was used to determine the predicted classes. So i need to specify some
> cut points for *predict.pvalue*, and then compare it with *mark*class,
> generate the 2*2 tables, and then calculate some sensitivity,
> specifity....statistcs, and ROC curve.
> I have searched some functions, such as roc(analogue),'ROC(Epi),etc. They
> may need to specify the fitting model in the codes or group varibles,
> and may be not appropriate for my condition. I think that it should
> have been performed in some package for ROC analysis.
> Anybody can tell me which function is for this case?
> Thanks very much.
Forming the ROC curve can lead to bad statistical practice, e.g., use of
non-pre-specified cutpoints and use of cutpoints in general. The area
under the ROC curve is a valid measure of predictive discrimination
though (even though it cannot be used to compare 2 models as it is not
sensitive enough). To get the ROC area you can use the simple somers2
function in the Hmisc package.
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
More information about the R-help