0

我有一个矩阵,其中包含年(YYYY)、儒略日和时间(HHMM)的单独列。我想附加一个带有完整公历日期(“MM/DD/YYYY”)的列向量以及一个列向量,它会给我以天为单位的经过时间。我该怎么办?
为了清楚起见,我指的是这些朱利安时代: http: //landweb.nascom.nasa.gov/browse/calendar.html 感谢您的帮助。

C7 <- read.table(text="Year   Day   Time    
2015   193    915
2015   193    930
2015   195   1400
2015   195   1415", header=T) 

我想添加这两列:

Year   Day   Time      Date       Elapsed Time (Days)     
2015   193    915    07/12/2015      0.00     
2015   193    930    07/12/2015      0.01    
2015   195   1400    07/14/2015      2.20    
2015   195   1415    07/14/2015      2.21     
4

1 回答 1

2

首先,我会将这些值转换为正确的 POSIXt 日期/时间值。在这里,我将所有内容粘贴到一个字符串中,使用一些数学分离小时和分钟

pdates <- with(C7, strptime(paste(Year,Day,Time %/% 100, Time %% 100), "%Y %j %H %M"))

现在我们可以通过向下转换为 Date 并使用difftime().

format(pdates, "%m/%d/%Y")
# [1] "07/12/2015" "07/12/2015" "07/14/2015" "07/14/2015"

round(c(difftime(pdates, min(pdates), units="days")),2)
# [1] 0.00 0.01 2.20 2.21
于 2015-07-21T20:26:41.100 回答