1

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

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

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

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

非常感谢 Rich

4

1 回答 1

1

可能有一种更优雅的方式来做到这一点,但请尝试

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

如果单列,那应该只放一年。然后创建一个新列以指示它是否是闰年

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

根据您的数据,您可能会发现更容易更改为数字,然后使用 %% 查看是否可以将其除以 4,但请注意 2000 年。

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

if (df$Leap==0){做 * 360/365} 否则 {做 * 360/366}

于 2013-08-27T15:18:40.433 回答