关于功能:R中的方向统计

Directional statistics in R

我需要为我在定向统计上所做的一些工作创建一个函数。我想用圆圈显示洪水事件的分布,并计算平均方向和方差。

我需要通过用(360/365)乘以儒略日期来计算以弧度为单位的angular值。我遇到了问题,因为我需要一个考虑到我正在考虑的40年记录中的years年的函数。即IF year年angular值=儒略日x(360/366)。

我正在使用的数据是高于阈值的峰,因此我每年都没有数据,并且在某些年份中,我有多个条目

1
2
3
4
5
6
7
8
9
10
Date            Time    Flow
04/05/1973  00:00   44.67
22/06/1974  00:00   128.38
22/11/1974  23:45   129.15
26/09/1976  22:00   89.51
15/10/1976  00:00   139.35
24/02/1978  19:30   183.69
27/12/1978  04:00   229.65
18/03/1980  09:15   117.7
02/03/1981  22:00   262.39

非常感谢
丰富


也许有一种更优雅的方法,但是请尝试

1
df$Year<-format(df$Date,"%Y")

如果只包含一列,则应仅输入年份。然后新建一个列以指示是否为is年

1
2
df$Leap<-0
df$Leap[df$Year=="1972" | df$ Year=="1976" |df$Year=="1980"]<-1

根据数据,您可能会发现更容易将其更改为数字,然后使用%%来查看是否可以将其平均除以4,但是要小心2000年。

然后您可以使用if语句来实现

if (df$Leap==0) {do * 360/365},其他{do * 360/366}