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) 

次の 2 つの列を追加したいと思います。

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 に答える