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

Derek Ogle DOgle at northland.edu
Thu Aug 28 16:25:40 CEST 2008


Bertolt,

The points you send to polygon() do not fully enclose the area you desire.  Try adding one more point as such

xt <- c(x[(length(x)-cutpoint):length(x)],linepos)
yt <- c(y[(length(y)-cutpoint):length(y)],0)
polygon(xt, yt, density = 10 )


-----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 9:03 AM
To: r-help at r-project.org
Subject: [R] Help with shading a polygon below a segment of a curve (normaldistribution)

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