R - 绘制一条缺少 NA 值的线

标签 r plot na missing-data

我有以下数据框,“子集”

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

我想要一个图,其中“时间”是 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)

我已经尝试过诸如 na.omit() 或 na.approx() 之类的解决方案,但是这些解决方案似乎只有在我在独立绘图中单独绘制“A”时才有效,它们似乎无法结合使用“时间”和“B”和“C”都在同一个情节中。

最佳答案

您可以使用索引而不是 na.omit():像这样应该可以做到:

plot(subset$Time[!is.na(subset$A)],subset$A[!is.na(subset$A)],type="l")  
# with your xlim and ylim, of course

lines(subset$Time,subset$B,type="p",col=27)
lines(subset$Time,subset$C,type="p",col=134)

关于R - 绘制一条缺少 NA 值的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42590545/

相关文章:

r - 如何更改集群中每个组的树状图颜色

r - R 中 NMDS 解释的累积方差

plot - Matplotlib y 轴限制在设置 x 轴限制后没有更新?

python - 比较单个图 python 上的多年数据

r - 对于每一行,返回非 NA 值的列索引和名称

r - 具有多个 NA 的向量的交替元素

r - 如何向 R xyplot 传递 y 变量列表?

r - 用重复点绘制数据

r - lm : complete cases used even with predictors without missing data 中缺少数据行为

R GLM函数省略数据