[R] Help with shading a polygon below a segment of a curve (normal distribution)

Greg Snow Greg.Snow at imail.org
Thu Aug 28 17:16:06 CEST 2008


The power.examp function in the TeachingDemos package (among others) may already do what you want.  Even if it does not, it does shade the area under a curve, you can look at the source for the function as an example of where to start.

Hope this helps,

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
(801) 408-8111



> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Bertolt Meyer
> Sent: Thursday, August 28, 2008 8:03 AM
> To: r-help at r-project.org
> Subject: [R] Help with shading a polygon below a segment of a
> curve (normal distribution)
>
> Dear R users,
>
> I still feel new to R so please apologize if I am doing
> something stupid here. My use of the polygon() function
> produces a result that I cannot
> comprehend: In a plot, I would like to shade the area below a
> normal distribution. However, I do not want the entire area
> to be shaded, but just the area on the right side of a
> vertical line that I draw through the distribution (in order
> to illustrate the function of a t-test). Here is what I do:
>
> scale <- 0.1
> x <- seq(-4, 6, scale)
> y <- dnorm(x)
> plot(x, y, type = "l", main="t-Test, t = 2.2")
>
> linepos <- 2.2
> abline(v = linepos)
>
> # I try to fill a polygon right of the vertical line:
> # max(x) - linepos (in this case, 2.2) / scale (0.1) #
> results in the last 38 elements of x and y.
> # so I take the last 38 elements of x and y and try to # draw
> a polygon underneath:
>
> cutpoint <- (max(x) - linepos) / scale
>
> xt <- x[(length(x)-cutpoint):length(x)]
> yt <- y[(length(y)-cutpoint):length(y)]
>
> # draw the polygon
>
> polygon(xt, yt, density = 10 )
>
> As you can see in the result, this is not what I want; some
> area above the line gets shaded, but not below. Can someone
> tell me what I am missing?
>
> Thank you very much,
> Bertolt
>
> --
> Bertolt Meyer
> Oberassistent
> Sozialpsychologie, Psychologisches Institut der Universität
> Zürich Binzmühlestr. 14, Box 15 CH-8050 Zürich
>
> bmeyer at sozpsy.uzh.ch
> tel:   +41446357282
> fax:   +41446357279
> mob:   +41788966111
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list