私は観測に大きなギャップがあることを意味する不完全な時系列を持っています:
dat <- data.frame(
date = c(2000, 2001, 2002, 2009, 2010, 2011),
value1 = runif(6,1,100),
value2 = runif(6,1,100)
)
library("reshape2")
dat_long <- melt(dat, id="date")
dat_long$time <- ifelse(dat_long$date < 2009, "early", "late")
dat
を使用してプロットしたいと思いますggplot2
が、観測値 2002 と 2009 の間にはギャップがあります。事実上、2 つの線のグループが存在する必要があります。によるtime
)。
Line break when no data in ggplot2 に従って、試しました
library("ggplot2")
ggplot(data=dat_long, aes(x=date, y=value, group=variable)) +
geom_line(aes(color=variable, group=time)) +
geom_point(aes(color=variable))
しかし、これは単にすべてのポイントを組み合わせたものです:
私の質問とggplot2 にデータがない場合の改行group=time
の違いは、複数の行があることです。これにより、geom_line(aes(...))
呼び出しでの使用が明らかに禁止されます。
次に、次善の策としてファセットを試しました。
ggplot(data=dat, aes(x=date, y=value, group=variable)) +
geom_line() + geom_point() + facet_grid( ~ time)