我有以下 data.frame,“子集”
Time A B C
2016-10-07 06:16:46 NA NA 41
2016-10-07 06:26:27 40 39 42
2016-10-07 06:38:23 NA 40 NA
2016-10-07 06:41:06 42 42 44
2016-10-07 06:41:06 NA 42 44
2016-10-07 06:41:06 NA 42 44
2016-10-07 06:41:07 44 43 48
2016-10-07 06:41:41 NA 43 48
2016-10-07 06:42:44 45 42 48
2016-10-07 06:48:40 46 45 48
Run Code Online (Sandbox Code Playgroud)
我想要一个图,其中“时间”是x轴,“A”是一条线,“B”和“C”是点。
然而,当我绘制此图时,“A”出现的唯一一条线是连接最后 2 个点(45 和 46)的线,因为这是“A”中唯一的 2 个连续值。该图忽略“A”值之间的 NA,而不是通过 NA 连接这些值的线。为此,我使用以下代码:
plot(subset$Time,subset$A,type="l",ylim=c(min(subset$B,na.rm=TRUE)-5,max(subset$C,na.rm=TRUE)+5),xlim=c(as.POSIXct(min(subset$Time)),as.POSIXct(max(subset$Time))))
lines(subset$Time,subset$B,type="p",col=27)
lines(subset$Time,subset$C,type="p",col=134)
Run Code Online (Sandbox Code Playgroud)
我尝试过诸如 na.omit() 或 na.approx() 之类的解决方案,但是这些解决方案似乎只有在我在独立图中单独绘制“A”时才有效,它们似乎不能与“Time”一起使用”以及“B”和“C”都在同一个情节中。
我有以下时间戳向量:
Timestamp <- c("30-09-2016 11:45:00.000", "01-10-2016 06:19:57.860", "01-10-2016 06:20:46.393")
Run Code Online (Sandbox Code Playgroud)
时间戳是包含其他度数和权重列的表的一部分(不幸的是,它似乎不是 data.frame...):
Timestamp Weight Degrees
1 30-09-2016 11:45:00.000 38.19 40.00
2 01-10-2016 06:19:57.860 39.12 40.00
3 01-10-2016 06:20:46.393 42.11 41.00
Run Code Online (Sandbox Code Playgroud)
我想根据时间戳绘制权重,但时间戳的模式是“字符”,这意味着x轴无法正确读取。您有什么建议将其转换为数字吗?
我已经尝试过as.Date(Timestamp,format='%d-%m-%Y %H:%M:%OS3'),但似乎不起作用。