1

方向統計で行っている作業用の関数を作成する必要があります。円を使用して洪水イベントの分布を示し、平均方向と分散を計算したいと考えています。

ユリウス日付に (360/365) を掛けて、角度値をラジアンで計算する必要があります。検討中の40年記録で閏年を考慮した関数が必要で困っています。つまり、IF 閏年の角度値 = ユリウス日 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

どうもありがとうリッチ

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){do * 360/365} そうでなければ {do * 360/366}

于 2013-08-27T15:18:40.433 に答える