Skip to content

question on graphs and finding area under a curve

5 messages · Renuka Sane, Marc Schwartz, Romain Francois +2 more

#
On Tue, 2005-08-02 at 18:20 +0530, Renuka Sane wrote:
See ?par and take note of the 'xaxs' and 'yaxs' parameters. By default,
these are set to 'r', where the axes are extended by 4% in each
direction. Thus, set one or both parameters to 'i' to set the axes to
exactly the ranges of xlim and/or ylim as you require.
See Frank Harrell's somers2() function in the Hmisc package on CRAN.
Among other things, it outputs a value "C", which is the AUC.

HTH,

Marc Schwartz
#
Le 02.08.2005 14:50, Renuka Sane a ??crit :
Hi,

integrate.xy in sfsmisc package might help you.

Romain
- 
visit the R Graph Gallery : http://addictedtor.free.fr/graphiques
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~      Romain FRANCOIS - http://addictedtor.free.fr         ~~~~~~
~~~~        Etudiant  ISUP - CS3 - Industrie et Services           ~~~~
~~                http://www.isup.cicrp.jussieu.fr/                  ~~
~~~~           Stagiaire INRIA Futurs - Equipe SELECT              ~~~~
~~~~~~   http://www.inria.fr/recherche/equipes/select.fr.html    ~~~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
#
Hi,

To find the area lying between the curve y = y(x) and 45 degree line (which,
assuming it goes through the origin, is y = x), you can use the following
function based on trapezoidal rule:

trap.rule <- function(x,f) {sum(diff(x)*(f[-1]+f[-length(f)]))/2}

trap.rule(x,f=y-x)

This area will be negative if y(x) is below the 45 degree line.

However, your question is not complete, I think.  You need to specify the
interval of integration. For this you may need to determine the points of
intersection of the two curves, which involves the solution of a fixed point
problem.

Hope this helps,
Ravi.
#
Also see function rocdemo.sca in the ROC package.

The area under the 45 degree line in an ROC curve has an area of 0.5.

Regards, Adai
On Tue, 2005-08-02 at 09:24 -0400, Ravi Varadhan wrote: