0

我想在 R 中绘制风玫瑰图。我正在尝试使用“openair”包。我的数据库是度数/10(在 0 和 36 之间),如果我绘制这个值(但它没有意义),它就可以工作。但如果我是真正的度数(度数 * 10),它会说:

e2[[j]] 中的错误:超出限制(它是什么?)

我的代码是:

windRose(meteo, ws = "Int Viento [Nudos]", wd = "Dir Viento", ws2 = NA, wd2 = NA, 
               ws.int = 3, angle = 3, type = "default", bias.corr = TRUE, cols= "default", 
              grid.line = NULL, width = 1, seg = NULL, auto.text= TRUE, 
              offset = 0, normalise = FALSE, max.freq =NULL, 
              paddle = FALSE, key.header = NULL, key.footer = "Nudos", 
               key.position = "bottom", key = TRUE, dig.lab = 5, statistic = "prop.count",
              pollutant = NULL, annotate = TRUE, border = NA)

我尝试使用 Openair 的示例数据库,它可以工作:

windRose(mydata, ws = "ws", wd = "wd", ws2 = NA, wd2 = NA, 
     ws.int = 2, angle = 30, type = "default", bias.corr = TRUE, cols
     = "default", grid.line = NULL, width = 1, seg = NULL, auto.text 
     = TRUE, breaks = 4, offset = 10, normalise = FALSE, max.freq = 
       NULL, paddle = TRUE, key.header = NULL, key.footer = "(m/s)", 
     key.position = "bottom", key = TRUE, dig.lab = 5, statistic = 
       "prop.count", pollutant = NULL, annotate = TRUE, angle.scale = 
       360, border = NA)

比较两者:

summary(mydata$wd)

 Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0     140     210     200     270     360     219 


summary(meteo$`Dir Viento`)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
0.0    90.0   140.0   175.5   270.0   360.0      43 
4

1 回答 1

0

在尝试对我自己的数据制作 windRose() 时,我遇到了完全相同的(相当模糊的)错误,即:

Error in e2[[j]] : subscript out of bounds

wd当我的风向 ( ) 精确表示为 0 到 360 度之间的 10 度单位的倍数时,似乎会发生此错误。在 windRose() 函数的帮助下,我注意到bias.corr参数如下:

bias.corr 当角度不精确地划分为 360 度时,当风向已被提供为最接近的 10 度时,频率中会引入偏差,这通常是这种情况。例如,如果角度 = 22.5,则 N、E、S、W 将包括 3 个风扇区,而所有其他角度将为 2。可以进行偏差校正来纠正这个问题。根据 Applequist (2012) 的一种简单方法用于调整频率

通过设置参数bias.corr=F,我设法使 windRose 没有任何错误,即

windRose(mydata, ws, wd, bias.corr=F)

PS 我使用 R 3.3.2 和 openair 2.1-5

于 2017-11-28T11:06:14.357 回答