由于罗盘标题的范围从0-360度,所以平均标量风向数据会产生不准确的值,所以我已将列表转换为u和v分量已经有了大小和风向。使用lapply或ifelse计算风的U和V分量的风向
为了背出正确的风向,用于平均目的,我需要开发某种应用,ifelse,为3个以下场景功能:
V > 0...((180/pi) * atan((Ucomp/Vcomp)) + 180)
U and V < 0...((180/pi) * atan((Ucomp/Vcomp)) + 0)
U > 0 and V < 0...((180/pi) * atan((Ucomp/Vcomp)) + 360)
在数据集我期待Ucomp大于0且Vcomp小于零,但毫无疑问会出现所有3将泛出的情况,所以我需要一个函数来解析并迭代计算并为每个时间步应用正确的公式。我之前没有使用过lapply或功能,所以我和他们一起玩都没用。
我在下面提供数据的样本...
DateTime Wind.Spd Wind.Direction Air.Density Temp.C GEP.GE16XLE GCF.GE16XLE Ucomp Vcomp
1 1981 7.662370 248.3395 0.9148207 11.28967 597.7513 37.35946 5.253453 -0.7404972
2 1982 8.199412 251.6763 0.9172176 10.12751 678.8595 42.42872 5.867979 -0.6191475
3 1983 8.188782 251.7889 0.9162767 10.30619 667.9461 41.74663 5.777208 -1.0473982
4 1984 7.942632 246.7908 0.9174074 10.05093 642.6374 40.16484 5.415773 -0.6796723
5 1985 8.016558 252.7305 0.9171721 10.38414 654.2588 40.89117 5.649406 -0.9999082
6 1986 7.739984 249.6431 0.9158740 10.99859 607.0542 37.94089 5.305971 -0.9118965
美丽......感谢约翰......完美的作品。我在阅读其他论坛时看过plyr软件包,但都试图用聚合标签来贴合标签,但对于这个问题我需要别的东西。我还在用一些精心制作的陈述,我不能完全弄明白。我很感谢 – RWJ 2011-12-29 21:15:20
的帮助,这会起作用,但是在很多计算上会很慢。 – John 2011-12-29 22:17:50
我只在30年的月平均数据和年平均数据上做这件事,所以它适用于我的目的。 – RWJ 2011-12-29 22:27:31