【问题标题】:Averaging wind direction in rr 中的平均风向
【发布时间】:2019-11-11 15:29:11
【问题描述】:

我有每小时的 u 和 v 风分量,我无法将其汇总到每日级别。

原则上,我认为我可以只取 U 和 V 风分量的平均值并找到这些平均值的方向,但是使用此算法得到的结果与使用专用包 CircStat 时的结果不同。在下面的代码中,变量 dir_rwind 是根据平均 U 和 V 分量计算的方向,而 dir_CircStat 是使用 CircStat 计算的平均方向。

set.seed(123)

uc <- rnorm(300,0,2)
vc <- rnorm(300,0,2)

df <- data.frame(uc=uc, vc=vc,id=1:10)

df <- cbind(df,as.data.frame(rWind::uv2ds(df$uc,df$vc)))

agg  <- df %>%
  group_by(id)%>%
  summarise(mean_u10 = mean(uc),
            mean_v10 = mean(vc),

            dir_rwind = rWind::uv2ds(mean_u10, mean_v10)[1],

            dir_CircStat = (180/pi)*CircStats::circ.mean(dir*pi/180))
agg

为什么我得到不同的平均风向?我是否应该使用我尝试过的第一个算法(取每个组件的平均值:如变量 dir_rwind)?如果是,我应该什么时候使用每种计算算法?

非常感谢

【问题讨论】:

  • 我不确定我理解你的意思。我取的是 v 和 u 分量的平均值,而不是角度本身。
  • 不,抱歉没有指定。风分解为 y(v 分量)和 x(u 分量)。所以v是北风分量,u是东风分量。以下是关于如何将风分量转换为方向和速度的讨论(但每个分量的方向定义略有不同):stackoverflow.com/questions/21484558/…
  • 你能提供公式而不是代码吗?

标签: r computational-geometry


【解决方案1】:

这更像是一道数学题,而不是r 题。问题是你不能说 n 个向量的平均方向等于平均向量的方向。考虑例如两个向量:(1, 0)(0, 10000)。第一个的角度是 0 度,第二个的角度是 90 度。所以,平均方向是45度。但是平均向量是(.5, 5000),它的角度实际上与90度几乎没有区别。

【讨论】:

    猜你喜欢
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2021-12-12
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    相关资源
    最近更新 更多