基本的に、私はスノーパックのデータを見ています。翌年の10月15日〜5月15日(冬期はもちろん)~215日間の各日付(雪の日)にユニークな値を割り当てたいと思います。次に、季節データの連続した月に対応する列「snowmonth」と、各季節の記録が始まる年を表す「snow year」列を追加します。翌年の10月15日〜4月30日のユニークなシーケンスを作成 - R
しかし、これらの日付を見つけてNAを行に挿入する代わりに、そのステップをスキップして、代わりに「snowmonth」に関してプロットできる連続ルートに移動しました約1のsnowday 『シーケンス」
は基本的に、私は取得する必要があります』:欄の下に、うるう年の215(+1を、そして残りは私は自分自身を行うことができますそれはこの
month day year depth date yearday snowday snowmonth
12 26 1955 27 1955-12-26 360 NA NA
12 27 1955 24 1955-12-27 361 NA NA
12 28 1955 24 1955-12-28 362 NA NA
12 29 1955 24 1955-12-29 363 NA NA
12 30 1955 26 1955-12-30 364 NA NA
12 31 1955 26 1955-12-31 365 NA NA
1 1 1956 25 1956-01-01 1 NA NA
1 2 1956 25 1956-01-02 2 NA NA
1 3 1956 26 1956-01-03 3 NA NA
man<-data.table()
man <- read.delim('mansfieldstake.txt',header=TRUE, check.names=FALSE)
man[is.na(man)]<-0
man$date<-paste(man$yy, man$mm, man$dd,sep="-", collapse=NULL)
man$yearday<-NA #day of the year 1-365
colnames(man)<- c("month","day","year","depth", "date","yearday")
man$date<-as.Date(man$date)
man$yearday<-yday(man$date)
man$snowday<-NA
man$snowmonth<-NA
man[420:500,]
head(man)
のように見えます。
出力は次のようになります。
month day year depth date yearday snowday snowmonth
12 26 1955 27 1955-12-26 360 73 3
12 27 1955 24 1955-12-27 361 74 3
12 28 1955 24 1955-12-28 362 75 3
12 29 1955 24 1955-12-29 363 76 3
12 30 1955 26 1955-12-30 364 77 3
12 31 1955 26 1955-12-31 365 78 3
1 1 1956 25 1956-01-01 1 79 4
1 2 1956 25 1956-01-02 2 80 4
1 3 1956 26 1956-01-03 3 81 4
私はループについて考えてきましたが、それは非効率です。閏年はちょっと混乱してしまいます。これは私が思ったよりも挑戦的になっています。良い最初のプロジェクト!
ここで単純なシーケンスを探して、雪以外の月をすべてドロップするだけです。入力を持っている人のためにありがとう!
は、あなたは出力が見えるように期待私たちを見ることができますか?あなたが求めていることははっきりとは分かりません。 'man $ snowday < - 1:nrow(man)'でしょうか? – emilliman5
man $ snowdayは、%Y-10-15から%Y + 1-5-15までの1:215程度の順序になります。 10月から5月にかけて、ユニークで順序付けられた値を期間の順番に並べるだけで、これは雪の日を定義します。この順番は、毎雪ごとに繰り返される。 10月15日は雪原の最初の雪の日で、5月15日が最後の雪の日です。 – user5691676