重新分配起始儒略日期(7 月 1 日 = 儒略日期 1,南半球)
Reassign the starting Julian date (July 1st = Julian date 1, southern hemisphere)
我的数据集包括全年不同阶段的各种观察结果。
year
样本采集时间。
site
测量位置
Class
r 测量期间的物理阶段
date
测量日期
Julian
儒略日期
最后的测量通常发生在新年伊始,也就是南半球的夏季。 (例如夏天是冬天,spring 是秋天)。
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
我遇到了困难 converting/reassigning Julian 开始日期为 7 月 1 日,而不是 1 月 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
我正在尝试将 Julian 日期作为 1 而不是 182 开始。
欢迎提出想法或建议。
假设 July.Julian
应该是 7 月 1 日之后 Julian
天:
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
即可。
我的数据集包括全年不同阶段的各种观察结果。
year
样本采集时间。site
测量位置Class
r 测量期间的物理阶段date
测量日期Julian
儒略日期
最后的测量通常发生在新年伊始,也就是南半球的夏季。 (例如夏天是冬天,spring 是秋天)。
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
我遇到了困难 converting/reassigning Julian 开始日期为 7 月 1 日,而不是 1 月 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
我正在尝试将 Julian 日期作为 1 而不是 182 开始。
欢迎提出想法或建议。
假设 July.Julian
应该是 7 月 1 日之后 Julian
天:
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
即可。