Description Usage Arguments Details Value Author(s) Examples
View source: R/makeDistribution.R
Make a continuous distribution from a empiric sample.
1 |
sample |
data array to make the distribution. |
minimum, maximum |
values to be considered as minimum and maximum to make the distribution. |
smooth |
boolean, if its true then it would smooth data before make the distribution. |
... |
alrguments to pass on method |
The default minimum is min(sample)-sd(sample), this is made to improve the results, but it can be changed by the real minimum declarating it in the inputs. Same for maximum.
Returns a list with four functions.
pfun(q)
Cumulative distribution function.
qfun(p)
Quantile function of the distibution.
rfun(n)
Generates random deviates.
dfun(x)
Gives the density. It doesn't work by now, but will be improved in next updates.
Daniel Fischer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | data1=rnorm(10000)
data2=runif(10000) #take 2 different samples
dist1=makeDistribution(data1,minimum=min(data1),maximum=max(data1))
dist2=makeDistribution(data2,minimum=min(data2),maximum=max(data2)) #make distributions of them
quantiles=seq(0,1,by=0.1) #vector of deciles
probabilities= seq(0,1,by=0.001) #vector of probabilities
#Compare the empiric distributions with base version.
require(ggplot2)
a=qplot(quantiles,pnorm(quantiles),main="Real pnorm")
b=qplot(probabilities,qnorm(probabilities),main="Real qnorm")
c=qplot(probabilities,dnorm(probabilities),main="Real dnorm")
d=qplot(quantiles,dist1$pfun(quantiles),main="makeDitribution-pnorm")
f=qplot(probabilities,dist1$qfun(probabilities),main="makeDitribution-qnorm")
g=qplot(probabilities,dist1$dfun(probabilities),main="makeDitribution-dnorm")
h=qplot(quantiles,punif(quantiles),main="Real punif")
i=qplot(probabilities,qunif(probabilities),main="Real qunif")
j=qplot(probabilities,dunif(probabilities),main="Real dunif")
k=qplot(quantiles,dist2$pfun(quantiles),main="makeDitribution-punif")
l=qplot(probabilities,dist2$qfun(probabilities),main="makeDitribution-qunif")
m=qplot(probabilities,dist2$dfun(probabilities),main="makeDitribution-dunif")
multiplot(a,b,c,d,f,g,h,i,j,k,l,m,cols=4)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.