我有一个已知开始日期的时间序列数据,但我的数据文件只包含一个时间列。我想添加一个日期列(julian日期)和开始日期,它应该引用我的时间列,并自动将日期更改为午夜后的第二天。
这些是我的数据集的前20行,我通常每秒有8个测量值,但对于第一个,它可能更少(就像这里,它只是7,所以没有常规的间隔)。我现在想添加一个以08.04.2010作为开始日期的列。
head(dat)
Time Surge Sway Heave Press Comp1 Comp2 Comp3 Temp
1 20:30:01 -0.36 -0.52 1.00 NA 41.12 -68.59 4.30 NA
2 20:30:01 -0.48 -0.50 0.92 NA -45.69 -122.72 5.96 NA
3 20:30:01 -0.55 -0.47 0.95 NA -53.57 -67.65 2.69 NA
4 20:30:01 -0.65 -0.51 1.00 811.06 -55.69 -67.02 3.82 NA
5 20:30:01 -0.51 -0.54 1.01 NA -45.12 -67.18 2.97 NA
6 20:30:01 -0.55 -0.51 1.00 NA -48.80 -66.34 5.41 NA
7 20:30:01 -0.65 -0.53 1.01 NA -64.64 -66.26 4.59 NA
8 20:30:02 -0.46 -0.55 1.03 810.52 -22.25 -67.13 3.59 8.41
9 20:30:02 -0.54 -0.48 1.01 NA -41.91 -66.81 5.29 NA
10 20:30:02 -0.56 -0.52 1.06 NA -45.45 -67.11 3.40 NA
11 20:30:02 -0.57 -0.52 1.04 NA -40.60 -67.82 4.13 NA
12 20:30:02 -0.62 -0.49 1.02 810.76 -52.42 -67.98 2.60 NA
13 20:30:02 -0.43 -0.49 1.01 NA -46.92 -67.84 2.92 NA
14 20:30:02 -0.65 -0.52 1.02 NA -28.02 -66.26 5.06 NA
15 20:30:02 -0.61 -0.51 1.03 NA -42.43 -67.51 4.06 NA
16 20:30:03 -0.58 -0.53 1.05 810.98 -45.55 -67.72 4.74 8.42
17 20:30:03 -0.64 -0.58 1.01 NA -65.28 -67.96 3.09 NA
18 20:30:03 -0.50 -0.52 1.05 NA -47.14 -67.84 4.89 NA
19 20:30:03 -0.51 -0.53 1.03 NA -57.48 -67.47 4.70 NA
20 20:30:03 -0.54 -0.52 1.02 810.89 -34.09 -67.86 4.58 NA
非常感谢您的帮助!!
专利
答案 0 :(得分:0)
DF <- data.frame(time = c("23:58:00", "23:59:00", "00:00:00", "00:01:00", "23:59:00", "00:00:00"),
x=1:6)
DF$julian <- cumsum(DF$time == "00:00:00") + 1
# time x julian
#1 23:58:00 1 1
#2 23:59:00 2 1
#3 00:00:00 3 2
#4 00:01:00 4 2
#5 23:59:00 5 2
#6 00:00:00 6 3
DF$date <- cumsum(DF$time == "00:00:00") + as.Date("2010-04-08")
# time x julian date
# 1 23:58:00 1 1 2010-04-08
# 2 23:59:00 2 1 2010-04-08
# 3 00:00:00 3 2 2010-04-09
# 4 00:01:00 4 2 2010-04-09
# 5 23:59:00 5 2 2010-04-09
# 6 00:00:00 6 3 2010-04-10