借助以下函数(源自R - 将 POSIXct 转换为儒略日的分数),我将观察的不同起点从日期格式转换为儒略日。
date <- as.POSIXct(c('2006-12-12 13:00:00', '2008-12-12 12:00:00', '2007-12-12 12:00:00'))
julian_conv <- function(x) {
if (is.na(x)) {
return(NA)
}
else {
j <-julian(x, origin = as.POSIXlt(paste0(format(x, "%Y"),'-01-01')))
temp <- unclass(j)
return(temp[1] + 1)
}
}
julian.days <- sapply(date, julian_conv)
结果:
print(julian.days)
[1] 346.5417 347.5417 346.5000
然后我取了这些起点的平均值。
mean <- mean(julian.days)
[1] 346.8611
现在我需要将平均起点转换回日期格式 (yyyy-dd-mm HH:MM:SS),一次用于普通年份,一次用于飞跃。现在的问题是,这怎么可能?
您可以将儒略日添加到日期对象中:
2006 年是 365 天的一年:
as.Date("2006-01-01") + mean(julian.days)
2008年是闰年:
as.Date("2008-01-01") + mean(julian.days)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句