R 如何从13年的大型数据集的每日威布尔分布估计目标风速密度

R 如何从13年的大型数据集的每日威布尔分布估计目标风速密度,r,function,time,distribution,weibull,R,Function,Time,Distribution,Weibull,你好 我想根据每天每半小时测量的风速(每天48个风速,有时少几个小时)创建威布尔分布。 然后根据威布尔分布,我想根据每天的威布尔分布计算特定目标风速的密度(在这个数据集中,29公里/小时)。 为此,我需要每天安排13年的数据集来计算威布尔分布的两个参数(尺度=a和形状=b),以估计每天目标点的密度。由于这是一个大数据集,我需要使用某个函数来自动处理它,并将每天的结果放在不同的表中(a、b、29 km/hr的密度)(可能是“返回”函数??) 我的数据如下所示: Time

你好

我想根据每天每半小时测量的风速(每天48个风速,有时少几个小时)创建威布尔分布。
然后根据威布尔分布,我想根据每天的威布尔分布计算特定目标风速的密度(在这个数据集中,29公里/小时)。
为此,我需要每天安排13年的数据集来计算威布尔分布的两个参数(尺度=a和形状=b),以估计每天目标点的密度。由于这是一个大数据集,我需要使用某个函数来自动处理它,并将每天的结果放在不同的表中(a、b、29 km/hr的密度)(可能是“返回”函数??)

我的数据如下所示:

    Time             windspeed direction    Date            day_index
1   24/07/2000 13:00    31       310    2000-07-24 13:00:00 2000_206
2   24/07/2000 13:30    41       320    2000-07-24 13:30:00 2000_206
3   24/07/2000 14:30    37       290    2000-07-24 14:30:00 2000_206
4   24/07/2000 15:00    30       300    2000-07-24 15:00:00 2000_206
5   24/07/2000 15:30    24       320    2000-07-24 15:30:00 2000_206
6   24/07/2000 16:00    22       330    2000-07-24 16:00:00 2000_206
7   24/07/2000 16:30    37       270    2000-07-24 16:30:00 2000_206  
这是本链接网页的进一步问题()

前面的评论指出,我可能需要使用“聚合”或“ddply”函数。如何在函数中添加多个参数以实现分析目的

我的多参数函数是:

library(bReeze) 
library(xts) 
time_ballarat <- strptime(ballarat_alldata[,1], "%d/%m/%Y %H:%M")

multiple.function <- set1 <- createSet(height=10, v.avg=ballarat_alldata[,2], dir.avg=ballarat_alldata[,3]) + ballarat <- createMast(time.stamp=time_ballarat, set1) + ballarat <- clean(mast=ballarat) + ballarat.wb <- weibull(mast=ballarat, v.set=1, print=FALSE) + my.x <- density(ballarat_alldata$windspeed, from = 0, to = max(ballarat_alldata$windspeed))$x + my.y <- density(ballarat_alldata$windspeed, from = 0, to = max(ballarat_alldata$windspeed))$y + df <- data.frame(x = my.x, y = my.y) + my.nls <- nls(y ~ (a/b) * (x/b)^(a-1) * exp(- (x/b)^a), + data = df[df$x > 0, ], + start = c(a = ballarat.wb[13,2], b = ballarat.wb[13,1])) + xValues <- seq(from = 0, to = 40, length.out = 100) + my.predicted <- predict(my.nls, data.frame(x = xValues)) + my.coef <- coef(my.nls) + my.weibull.predict <- function(x, a, b) { + y <- (a/b) * (x/b)^(a-1) * exp(- (x/b)^a) + return(y)} + return(c(ballarat.parameter = my.coef[1], ballarat.scale= my.coef[2], + my29 = my.weibull.predict(29, my.coef[1], my.coef[2])))}
库(微风)
图书馆(xts)

time\u ballarat我不确定您希望
multiple.function
code返回什么,但据我所知
foo@CarlWitthoft该函数应适用于不同的每日数据集,以计算每天的密度。