0

私のデータセットには、年間を通じてさまざまな段階でのさまざまな観測が含まれています。

  • yearサンプルが収集されたとき。
  • site測定場所
  • Class測定中の物理的段階
  • date測定日
  • Julianユリウス日

最終的な測定は通常、南半球の夏時間である新年の早い時期に行われます。(例:夏は冬、春は秋)。

year site Class date Julian 1 2009 10C Early 2008-09-15 259 2 2009 10C L2 2008-09-29 273 3 2009 10C L3 2008-12-15 350 4 2010 10C Early 2009-08-31 243 5 2010 10C L2 2009-09-14 257 6 2010 10C L3 2009-12-11 345 7 2012 10C Early 2011-08-23 235 8 2012 10C L2 2011-09-22 265 9 2012 10C L3 2011-12-03 337 10 2012 10C LSample 2012-03-26 86 11 2013 10C Early 2012-09-07 251 12 2013 10C L2 2012-09-30 274 13 2013 10C L3 2012-12-17 352 14 2014 10C Early 2013-09-02 245 15 2014 10C L2 2013-09-16 259 16 2014 10C L3 2013-12-16 350 17 2014 10C LMid 2014-01-07 7 18 2015 10C Early 2014-09-08 251 19 2015 10C L2 2014-09-30 273 20 2015 10C L3 2014-12-01 335

ユリウスの開始日を 1 月 1 日ではなく 7 月 1 日に変換/再割り当てするのに苦労しています。以下のドット プロットは、年の初め (2 月から 3 月) に発生する最終サンプリングを示しています。 データのプロット例 パッケージにはchron並べ替えオプションがありますがorigin、自分のデータで正しく動作させることができません。

library(chron) library(dplyr) data.date <- data %>% mutate(July.Julian = chron(date,format = c(dates = "ymd"), options(chron.origin = c(month=7, day=1, year=2008)))) Error in chron(c("2008-09-15", "2008-09-29", "2008-12-15", "2009-08-31", : misspecified chron format(s) length

また

July.Julian = chron(data$date, format = c(dates = "ymd"), options(chron.origin = c(month=7, day=1, year=2008))) Error in chron(c("2008-09-15", "2008-09-29", "2008-12-15", "2009-08-31", : misspecified chron format(s) length

ユリウス日を 182 ではなく 1 として開始しようとしています。

考えや提案は大歓迎です。

4

1 に答える 1

2

July.JulianそれがJulian7 月 1 日を過ぎた日であると仮定すると、次のようになります。

transform(date.data, July.Julian = as.chron(sprintf("%d-07-01", year)) + Julian)

また

date.data %>% mutate(July.Julian = as.chron(sprintf("%d-07-01", year)) + Julian)

ここでは、実際には chron は必要ないことに注意してください。これらの機能のいずれかをas.chron置き換えるだけです。as.Date

于 2015-02-06T01:44:29.347 に答える