Okay, I see how I'm using dnorm() incorrectly (my thanks to you and Prof. Ripley). I'll work on correcting that.

The important issue resolved, I still don't understand why I get different results for dnorm() when supplying the same values, based on how those values were supplied. I've got three options, all of which give the same value, but which result in a different distribution from dnorm(): the direct output of the function sd(); a number typed manually; or a variable which was set by the output of the function sd()). Using sd() produces different results than using a variable set from sd().

Having identified this seeming quirk, it's not a problem for my work; it just seems inconsistent and I'm having trouble understanding it.

Thanks,

Tom

Peter Dalgaard wrote:

Thomas Hopper <[EMAIL PROTECTED]> writes:



I am attempting to wrap the histogram function in my own custom
function, so that I can quickly generate some standard plots.

A part of what I want to do is to draw a normal curve over the histogram:

> x <- rnorm(1000)
> hist(x, freq=F)
> curve(dnorm(x), lty=3, add=T)

(for normal use, x would be a vector of empirical values, but the
rnorm() function works for testing)

That works just as you'd expect, but I've found something a bit strange.

If I try the following:

> curve(dnorm(x, mean=mean(x), sd=sd(x)), lty=3, add=T)

I get a much flatter and broader curve (which looks like it probably
has the same area as the first curve, though I haven't tested).

However, if I do

> z <- sd(x)
> curve(dnorm(x, mean=mean(x), sd=z), lty=1, add=T)

I get the curve you'd expect; it draws right over the first curve
(curve(dnorm(x),...), above).



I don't think that is guaranteed, actually.

Notice that curve plots the *expression* as a function of the argument
"x". So it takes a bunch of x values, evenly spread across the
abscissa collects them into a vector and plugs that in as "x" in

curve(dnorm(x, mean=mean(x), sd=sd(x)), lty=3, add=T)

I.e. the x that gets plugged into mean(x) and sd(x) has nothing to do
with your original data (except that they both fit in the same xlim)!





______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to