R - 将 POSIXct 转换为儒略日的分数

标签 r fractions posixct julian-date

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/

相关文章:

r - 我如何为数据挖掘过程对我的数据进行分类?

r - ddply 如何将因子处理为 "split"变量?

r - data.table 中的列槽

python - 添加分数类 python

r - dplyr group_by 对不在函数中的变量抛出错误

r - 如何避免在任何时间(<numeric>) "updates by reference"?

r - 在 R 中选择 data.frame 的前 4 行

Javascript 函数无法正常工作的问题(它将分数转换为小数)

java - 降低 Java 程序的复杂性

r - POSIXct 日期转换错误