R 中的日期/时间对象如何转换为儒略日的小数部分?
例如,我该如何转动这个日期:
date <- as.POSIXct('2006-12-12 12:00:00',tz='GMT')
变成这样的数字
> fjday
[1] 365.5
其中 julian day 是从 1 月 1 日开始计算的经过天数。小数 0.5 表示现在是中午 12 点,因此是一天的一半。
这只是一个例子,但我的真实数据涵盖了2006年的所有365天。
最佳答案
因为所有日期都来自同一年(2006 年),这应该很容易:
julian(date, origin = as.POSIXct('2006-01-01', tz = 'GMT'))
如果您或其他读者碰巧将您的数据集扩展到其他年份,那么您可以按如下方式设置每年年初的原点:
sapply(date, function(x) julian(x, origin = as.POSIXct(paste0(format(x, "%Y"),'-01-01'), tz = 'GMT')))
关于R - 将 POSIXct 转换为儒略日的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27594235/