... (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 <bgunter.4...@gmail.com> 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 <bbol...@gmail.com> 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 ... >> >> ______________________________________________ >> R-help@r-project.org 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. ______________________________________________ R-help@r-project.org 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.