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 -- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.