Suppose that I have a variable like X
with unknown distribution. In Mathematica, by using SmoothKernelDensity
function we can have an estimated density function.This estimated density function can be used alongside with PDF
function to calculate probability density function of a value like X
in the form of PDF[density,X]
assuming that "density" is the result of SmoothKernelDensity
. It would be good if there is such feature in R.This is how it works in Mathematica
http://reference.wolfram.com/mathematica/ref/SmoothKernelDistribution.html
As an example (based on Mathematica functions):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Here you can find more information about PDF:
http://reference.wolfram.com/mathematica/ref/PDF.html
I know that I can plot its density function using density(X)
in R and by using ecdf(X)
I can obtain its empirical cumulative distribution function.Is it possible to do the same thing in R based on what I described about Mathematica?
Any help and idea is appreciated.
Best Answer
?density
points out that it usesapprox
to do linear interpolation already;?approx
points out thatapproxfun
generates a suitable function:By use of
integrate
starting from an appropriate distance below the minimum in the sample (a multiple - say 4 or 5, perhaps - of the bandwidth used indf
would generally do for an appropriate distance), one can obtain a good approximation of the cdf corresponding todf
.