I have adjusted the parameters (lambda, mu, sigma) for a mixture of two normals fitted to my data. Now I would like to plot the cdf of this model using the explicit function instead of the ecdf. Is there any way to do this or I do I have to simulate data so then I can use again ecdf?
The explicit function is something like:
ipc_values_EM$lambda * dnorm(x, ipc_values_EM$mu, ipc_values_EM$sigma) + ipc_values_EM$lambda * dnorm(x, ipc_values_EM$mu, ipc_values_EM$sigma)
(as you can note, is the mixture of two normals different mus and different sigmas)
Like the title of the function
ecdf() says, it is empirical and only runs on samples.
If you want the exact cdf of a Gaussian, the function you are looking for is
pnorm(). Here is a demonstration.
x <- seq(from=-5, to=5, by=.1) y <- pnorm(x) plot(x, y, type='l')
If you replace
pnorm() in your code, and
x by the range of values you want to take the cdf over you should get the result you are looking for.