... (should have added)

However one might ask: Isn't this just a bit silly? The density()

function gives kernel density estimates (perhaps interpolated by

?approx -- see ?density) on as fine a grid as one likes, so why use

splines thereafter? And since these are density estimates -- i.e.

fitted approximations -- anyway, why search for "exact" solutions? Of

course I don't know the detailed context, but this whole question

sounds somewhat bogus.

Cheers,

Bert

Bert Gunter

"Data is not information. Information is not knowledge. And knowledge

is certainly not wisdom."

-- Clifford Stoll

On Mon, Sep 28, 2015 at 9:36 AM, Bert Gunter <

[hidden email]> wrote:

> Use ?uniroot to do it numerically instead of polyroot()?

>

> Cheers,

> Bert

> Bert Gunter

>

> "Data is not information. Information is not knowledge. And knowledge

> is certainly not wisdom."

> -- Clifford Stoll

>

>

> On Mon, Sep 28, 2015 at 9:17 AM, Ben Bolker <

[hidden email]> wrote:

>> Dario Strbenac <dstr7320 <at> uni.sydney.edu.au> writes:

>>

>>>

>>> Good day,

>>>

>>> I have two probability densities, each with a function determined

>>> by splinefun(densityResult[['x']],

>>> densityResult[['y']], "natural"), where densityResult is the

>>> output of the density function in stats.

>>> How can I determine all of the x values at which the densities cross ?

>>>

>>

>> My initial thought was this is non-trivial, because the two densities could

>> cross (or nearly-but-not-quite cross) at an unlimited number of points.

>> I thought it would essentially boils down to "how do I find all

>> the roots of an arbitrary (continuous, smooth) function?

>>

>> However, after thinking about it for a few more seconds I realize

>> that at least the functions are piecewise cubic. I still don't see

>> a *convenient* way to do it ... if the knots were all coincident between

>> the two densities (maybe you could constrain them to be so?) then you

>> just have a difference of cubics within each segment, and you can use

>> polyroot() to find the roots (and throw out any that are complex or

>> don't fall within the segment).

>> If the knots are not coincident it's more of a pain but you should

>> still be able to do it by considering overlapping segments ...

>>

>> ______________________________________________

>>

[hidden email] mailing list -- To UNSUBSCRIBE and more, see

>>

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.

______________________________________________

[hidden email] mailing list -- To UNSUBSCRIBE and more, see

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.