Please bear with me if this is rather tenuous, and feel free to ask questions if I have left anything out...
I'm attempting to do some 50 year extreme wind calculations based on the following link
http://www.wasp.dk/Products/weng/ExtremeWinds.htm
They seem to use the gumbel distribution, so I have used function gumbel in package "evir" to fit the distribution to the data, and function dgumbel in package "evd" as the plotting function.
package("evd")
package("evir")
speeds2 <- data.frame(speed=sample(10:50,1000,rep=TRUE))
gumbel(speeds2$speed)
I have then tried to plot this using ggplot2's stat_function, like so (except for now I have put in dummy values for loc and scale.
library(ggplot2)
ggplot(data=speeds2, aes(x=speed)) +
stat_function(fun=dgumbel, args=list(loc=1, scale=0.5))
I get the following error:
Error in dgev(x, loc = loc, scale = scale, shape = 0, log = log) :
unused argument(s) (loc = loc, scale = scale, shape = 0, log = log)
I am unsure if I am doing this the right way. Any pointers would be much appreciated.
Earlier session showed that the parameter estimates from the gumbel call were near 24 and 11.
If you only used the parameters of 1 and 0.5, you got a straight flat line. Loading only
evd
prevents conflicts with the dgumbel-related functions inevir
. When you loadevir
second you get:Demonstrating how to make a call to a
dgumbel
function in a particular (better behaved) package:I think Ramnath's suggestion to add the empiric 'density' is good but I prefer to use geom_histogram:
Here is a generic function that I wrote to simplify plotting of data with fitted and empirical densities.
Here are two examples of how you would use it Example 1: Fit a Gumbel
Example 2: Fit a Normal Distribution
With a small, modification to your code (adding a geom) it works fine for me.