title: geom_line in ggplot2 fails to connect all points. Why? How to fix it?
body: <p>I would like to make a graphic in ggplot2 that shows model predictions as a line and observations as dots. The line should be on top of the dots. </p>
  
  <p>Unfortunately, my code does not plot the line (properly). How can I solve this issue? Should I use another geom? </p>
  
  <p>PS: The model predictions are not necessarily a straight line. </p>
  
  <p><strong>Data</strong></p>
  
  <pre><code>df = structure(list(time = c(100.067043929044, 100.067043929044, 100.067043929044, 
                               100.067043929044, 101, 101.008924630473, 101.008924630473, 101.008924630473, 
                               101.008924630473, 101.008924630473, 102, 103, 104, 105, 106, 
                               107, 107.089057332598, 107.089057332598, 108, 108.20659267463, 
                               108.20659267463, 108.20659267463, 108.20659267463, 108.20659267463, 
                               108.20659267463, 108.20659267463, 108.703995034014, 108.703995034014, 
                               108.703995034014, 108.703995034014, 108.703995034014, 109, 110, 
                               110.114571494081, 110.114571494081, 110.114571494081, 110.114571494081, 
                               110.114571494081, 110.343557977437, 110.343557977437, 110.343557977437, 
                               110.343557977437, 110.343557977437, 111, 111.393980945717, 111.393980945717, 
                               111.393980945717, 111.393980945717, 111.393980945717, 112, 112.00243681339, 
                               112.00243681339, 112.00243681339, 112.00243681339, 113, 113.611902259838, 
                               113.611902259838, 113.611902259838, 113.611902259838, 113.611902259838, 
                               114, 114.979627464336, 114.979627464336, 114.979627464336, 114.979627464336, 
                               115, 115.265297815627, 115.265297815627, 115.265297815627, 115.265297815627, 
                               115.265297815627, 115.265297815627, 115.265297815627, 115.265297815627, 
                               115.977376227469, 115.977376227469, 115.977376227469, 115.977376227469, 
                               116, 116.424031058827, 116.424031058827, 116.424031058827, 116.424031058827, 
                               116.424031058827, 116.698946471018, 116.698946471018, 117, 117.01495704613, 
                               117.01495704613, 117.01495704613, 117.01495704613, 117.01495704613, 
                               117.454710262887, 117.454710262887, 117.454710262887, 117.454710262887, 
                               117.454710262887, 117.992443207322, 117.992443207322, 117.992443207322, 
                               117.992443207322, 117.992443207322, 118, 118.676546409334, 118.795766163362, 
                               118.795766163362, 118.795766163362, 118.795766163362, 118.795766163362, 
                               119), observation = c(4.21666666666667, 3.11666666666667, 4.23, 
                                                     4.48666666666667, NA, 5.48333333333333, 5.67, 5.72666666666667, 
                                                     4.06333333333333, 3.74666666666667, NA, NA, NA, NA, NA, NA, 6.26, 
                                                     14.19, NA, 9.47, 9.95333333333333, 10.115, 13.39, 9.10666666666667, 
                                                     6.71666666666667, 3.16, 6.5, 3.91, 3.81, 3.56, 2.84, NA, NA, 
                                                     6.89666666666667, 12.9533333333333, 8.44333333333333, 11.5333333333333, 
                                                     6.44666666666667, 6.29, 9.44, 7.07, 7.85666666666667, 5.65, NA, 
                                                     7.34333333333333, 8.11333333333333, 10.7533333333333, 9.19666666666667, 
                                                     8.57, NA, 16.72, 18.6533333333333, 13.7033333333333, 11.2266666666667, 
                                                     NA, 20.0933333333333, 18.415, 16.9033333333333, 14.54, 17.7633333333333, 
                                                     NA, 7.3125, 6.228, 7.76, 7.53666666666667, NA, 6.685, 6.85, 4.22, 
                                                     5.085, 6.895, 6.99666666666667, 6.49333333333333, 9.445, 8.46333333333333, 
                                                     5.53, 7.02, 5.54, NA, 3.80666666666667, 5.35, 3.215, 5.1, 2.68666666666667, 
                                                     13.13, 9.645, NA, 6.975, 11.9433333333333, 10.9033333333333, 
                                                     8.77666666666667, 9.09, 4.405, 5.7, 2.58, 3.17666666666667, 3.03, 
                                                     6.48, 9.96333333333333, 13.1833333333333, 10.0133333333333, 7.44, 
                                                     NA, 9.73, 16.92, 13.77, 8.75, 10.6666666666667, 1.3, NA), prediction = c(NA, 
                                                                                                                              NA, NA, NA, 5.16304701809333, NA, NA, NA, NA, NA, 5.24694452943803, 
                                                                                                                              5.33395080545174, 5.4238858914801, 5.51655500429435, 5.6117471762703, 
                                                                                                                              5.7092339677075, NA, NA, 5.80876254342396, NA, NA, NA, NA, NA, 
                                                                                                                              NA, NA, NA, NA, NA, NA, NA, 5.91002555280603, 6.0126381413324, 
                                                                                                                              NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 6.11614048603116, NA, 
                                                                                                                              NA, NA, NA, NA, 6.21998493479094, NA, NA, NA, NA, 6.32353446515982, 
                                                                                                                              NA, NA, NA, NA, NA, 6.42607073245445, NA, NA, NA, NA, 6.52681470723314, 
                                                                                                                              NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 6.62492403712397, 
                                                                                                                              NA, NA, NA, NA, NA, NA, NA, 6.71948343363089, NA, NA, NA, NA, 
                                                                                                                              NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 6.80950439913944, 
                                                                                                                              NA, NA, NA, NA, NA, NA, 6.8939376352439)), .Names = c("time", 
                                                                                                                                                                                    "observation", "prediction"), class = "data.frame", row.names = c(696L, 
                                                                                                                                                                                                                                                      700L, 704L, 708L, 711L, 715L, 719L, 723L, 727L, 731L, 734L, 737L, 
                                                                                                                                                                                                                                                      740L, 743L, 746L, 749L, 753L, 757L, 760L, 764L, 768L, 772L, 776L, 
                                                                                                                                                                                                                                                      780L, 784L, 788L, 792L, 796L, 800L, 804L, 808L, 811L, 814L, 818L, 
                                                                                                                                                                                                                                                      822L, 826L, 830L, 834L, 838L, 842L, 846L, 850L, 854L, 857L, 861L, 
                                                                                                                                                                                                                                                      865L, 869L, 873L, 877L, 880L, 884L, 888L, 892L, 896L, 899L, 903L, 
                                                                                                                                                                                                                                                      907L, 911L, 915L, 919L, 922L, 926L, 930L, 934L, 938L, 941L, 945L, 
                                                                                                                                                                                                                                                      949L, 953L, 957L, 961L, 965L, 969L, 973L, 977L, 981L, 985L, 989L, 
                                                                                                                                                                                                                                                      992L, 996L, 1000L, 1004L, 1008L, 1012L, 1016L, 1020L, 1023L, 
                                                                                                                                                                                                                                                      1027L, 1031L, 1035L, 1039L, 1043L, 1047L, 1051L, 1055L, 1059L, 
                                                                                                                                                                                                                                                      1063L, 1067L, 1071L, 1075L, 1079L, 1083L, 1086L, 1090L, 1094L, 
                                                                                                                                                                                                                                                      1098L, 1102L, 1106L, 1110L, 1113L))
  str(df)
  ggplot(df) + 
      geom_point(aes(x=time, y=observation), color="grey")+
      geom_line(aes(x=time, y=prediction), color="black")+
      geom_point(aes(x=time, y=prediction), color="blue")
  </code></pre>
  
  <p><strong>Code</strong></p>
  
  <pre><code>ggplot(df) + 
      geom_point(aes(x=time, y=observation), color="grey")+
      geom_line(aes(x=time, y=prediction), color="black")+
      geom_point(aes(x=time, y=prediction), color="blue")
  </code></pre>
  
  <p><strong>Plot</strong>
  <a href="https://i.stack.imgur.com/ApPWs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ApPWs.png" alt="enter image description here"></a></p>