ggplot2 geom_line()跳过NA值

时间:2013-08-10 15:03:13

标签: r ggplot2

我有一个数据集,其中包含多个NA值。绘制此数据时,ggplot的geom_line()选项可以跨NA值连接线。有没有办法让ggplot跳过跨越NA值的行?

编辑:向所有参与者致歉。我在操纵数据框时犯了一个错误。我想出了我的问题。当我创建子集时,我的x轴不连续。缺少的数据没有被NA替换,因此数据被链接,因为在行之间的子集中没有创建NA。

1 个答案:

答案 0 :(得分:12)

geom_line会为NA列中的y确定中断,但它会加入NA列中的x个值。

# Set up a data frame with NAs in the 'x' column
independant <- c(0, 1, NA, 3, 4)
dependant <- 0:4
d <- data.frame(independant=independant, dependant=dependant)

# Note the unbroken line
ggplot(d, aes(x=independant, y=dependant)) + geom_line()

enter image description here

我认为您的NA值在as.POSIXlt(date)。如果是这样,一种解决方案是将NA值的列映射到y,然后使用coord_flip使y轴水平:

ggplot(d, aes(x=dependant, y=independant)) + geom_line() +
  coord_flip()

enter image description here

大概你的代码是:

ggplot(crew.twelves, aes(x=laffcu, y=as.POSIXlt(date)) + geom_line() +
  coord_flip()