は、ここに1つの方法ですが、私はあなたがそれを非常に気に入るだろうとは思わない:あなたのソリューションは、他の種類のデータとうまく動作しません
d1 <- data.frame(x = 1:10,
y = rep(1:2,each = 5),
grp = factor(rep(letters[1:2],each = 5),levels = letters[1:3]))
d1 <- rbind(d1,data.frame(x = 1:2,y = c(NA,NA),grp = c('c','c')))
d2 <- data.frame(x = 1:15,
y = rep(3:5,each = 5),
grp = rep(1:3,each = 5))
ggplot() +
geom_line(data = d1,aes(x = x,y = y,group = grp,colour = grp)) +
geom_line(data = d2,aes(x = x,y = y,group = grp),colour = "blue")

注意。凡例の同じカテゴリにマージしたい3つの行のそれぞれが、基本的に同じ場所で始まり、終わりになることが起こります。そうでない場合は、不要なコネクタラインで終わるでしょう。
上記の方法はより一般的に機能しますが、わかりますようにそれほど厄介ではありません。何かあれば、より不便です。
このような問題は何度も起こりました。私は単純な解決策を忘れている可能性があります。しかし、一般的には、ggplot2の代わりに、手動ですべての凡例を作成する必要がないことを覚えておいてください。(いつもとは限りませんが)基本グラフィックに比べて柔軟性を犠牲にしています。
最小限の再現可能な例(データ+コード)を入力すれば、これははるかに簡単に答えることができます。 – joran
私は同意します。残念ながら、このような例を再現するために必要なコードが実際の質問よりも多くのスペースを占めるのではないかと心配しました。私の希望は、誰かがこの理論を認識し、以前にその問題の解決策を見ているかもしれないということです。 –
私は再現可能な例はありませんが、2番目のプロットでは、最初のプロットと同じ変数を使用して、グループの審美性と色の新しい要素を指定することができます。 – baptiste