【发布时间】:2018-10-25 18:04:14
【问题描述】:
我有一个带有几个不等长向量的示例数据框(即,有些是 5 个数据点长,有些是 3 个等。我有一个循环为每列生成一个 ggplot。但是,我不知道如何动态数据缺失时缩短绘图。
数据示例:
date X1 X2 X3
1 1997-01-31 0.6094410 NA 0.5728303
2 1997-03-03 0.7741195 NA 0.0582721
3 1997-03-31 0.7269925 0.5628813 0.8270764
4 1997-05-01 0.5471391 0.5381265 0.8678812
5 1997-05-31 0.8056487 0.4129166 0.6582061
到目前为止的代码:
vars <- colnames(data[-1])
plots <- list()
for (x in 1:length(vars)) {
plot[[x]] <- ggplot(data = data, aes_q(x = data[, 1], y = data[, x + 1])) +
geom_line()
}
绘制第一个图会产生良好的结果:
但是,绘制第二个图会产生这条短线:
我怎样才能改变我的循环,以便第二个情节是这样的?:
提前感谢您!任何帮助表示赞赏
【问题讨论】:
-
1) 停止使用
data作为对象名称。 2) 子集传递给data参数的参数。目前,您正在为绘图例程提供一整列日期。 -
如果将
na.omit(data)添加到geom_line调用中会发生什么?
标签: r vector ggplot2 plot rstudio