title: R, change ggplot legend names with scale_linetype_manual
body: <p>I have a dataframe which looks like this:</p>
  
  <pre><code>&gt; df
      Year mpft       value   type index
  1   1996    2 0.033827219  solid   2.1
  2   1997    2 0.133278701  solid   2.1
  3   1998    2 0.261428650  solid   2.1
  4   1999    2 0.394702438  solid   2.1
  5   1996    3 0.019079686  solid   3.1
  6   1997    3 0.074332942  solid   3.1
  7   1998    3 0.149042964  solid   3.1
  8   1999    3 0.227812452  solid   3.1
  9   1996    4 0.009909126  solid   4.1
  10  1997    4 0.026231721  solid   4.1
  11  1998    4 0.052912805  solid   4.1
  12  1999    4 0.086256016  solid   4.1
  13  1996   17 0.017256492  solid  17.1
  14  1997   17 0.079446280  solid  17.1
  15  1998   17 0.166014538  solid  17.1
  16  1999   17 0.316175339  solid  17.1
  17  1996   18 0.080072523  solid  18.1
  18  1997   18 0.313289644  solid  18.1
  19  1998   18 0.629398957  solid  18.1
  20  1999   18 1.024946245  solid  18.1
  110 1996    2 0.031634282 dashed   2.2
  21  1997    2 0.139244701 dashed   2.2
  31  1998    2 0.273270126 dashed   2.2
  41  1999    2 0.412409808 dashed   2.2
  51  1996    3 0.019430502 dashed   3.2
  61  1997    3 0.079252516 dashed   3.2
  71  1998    3 0.161607337 dashed   3.2
  81  1999    3 0.252595611 dashed   3.2
  91  1996    4 0.009976637 dashed   4.2
  101 1997    4 0.027057403 dashed   4.2
  111 1998    4 0.055755671 dashed   4.2
  121 1999    4 0.093064641 dashed   4.2
  171 1996   18 0.061041422 dashed  18.2
  181 1997   18 0.245554619 dashed  18.2
  191 1998   18 0.490633135 dashed  18.2
  201 1999   18 0.758070060 dashed  18.2
  </code></pre>
  
  <p>I am trying to plot the data and have the right legend, so far I have initially tried with</p>
  
  <pre><code>ggplot(df,aes(x=Year,y=value, colour = factor(mpft),linetype=type)) +
        geom_line(aes(group = index), size = 1.4) +
        #scale_linetype_manual(name= "Run Type", values = unique(df$type), labels = run.type) +
        scale_color_manual(name = "PFT",
                           values = setNames(mycol[unique(df$mpft)], unique(df$mpft)),
                           labels = setNames(mynam[unique(df$mpft)], unique(df$mpft)))
  </code></pre>
  
  <p>Which gives me</p>
  
  <p><a href="https://i.stack.imgur.com/PvtIk.png" rel="noreferrer"><img src="https://i.stack.imgur.com/PvtIk.png" alt="enter image description here"></a></p>
  
  <p>I have tried adding a scale_linetype_manual with</p>
  
  <pre><code>ggplot(df,aes(x=Year,y=value, colour = factor(mpft),linetype=type)) +
        geom_line(aes(group = index), size = 1.4) +
        scale_linetype_manual(name= "Run Type", values = unique(df$type), labels = run.type) +
        scale_color_manual(name = "PFT",
                           values = setNames(mycol[unique(df$mpft)], unique(df$mpft)),
                           labels = setNames(mynam[unique(df$mpft)], unique(df$mpft)))
  </code></pre>
  
  <p>with</p>
  
  <pre><code>&gt; run.type
  [1] "current" "origED3"
  </code></pre>
  
  <p>But I get </p>
  
  <p><a href="https://i.stack.imgur.com/504zn.png" rel="noreferrer"><img src="https://i.stack.imgur.com/504zn.png" alt="enter image description here"></a></p>
  
  <p>which has the right names for the legend but has a different linetype.
  What am I missing?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>The <code>dput</code> of my dataframe is</p>
  
  <pre><code>&gt; dput(df)
  structure(list(Year = c(1996, 1997, 1998, 1999, 1996, 1997, 1998, 
  1999, 1996, 1997, 1998, 1999, 1996, 1997, 1998, 1999, 1996, 1997, 
  1998, 1999, 1996, 1997, 1998, 1999, 1996, 1997, 1998, 1999, 1996, 
  1997, 1998, 1999, 1996, 1997, 1998, 1999), mpft = c(2L, 2L, 2L, 
  2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 17L, 17L, 17L, 17L, 18L, 
  18L, 18L, 18L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 
  18L, 18L, 18L, 18L), value = c(0.0338272191848643, 0.133278701149992, 
  0.261428650232716, 0.394702437670559, 0.0190796862689925, 0.0743329421068756, 
  0.149042964352043, 0.227812451937011, 0.00990912614900737, 0.0262317206863519, 
  0.0529128049802722, 0.0862560162908444, 0.017256491619149, 0.0794462797803606, 
  0.166014537897384, 0.31617533869767, 0.0800725232220131, 0.31328964372358, 
  0.629398957462415, 1.02494624459608, 0.0316342818911836, 0.139244700529005, 
  0.273270126484303, 0.412409807917143, 0.0194305022713642, 0.0792525159706922, 
  0.161607337403947, 0.252595610607411, 0.00997663742883768, 0.0270574028188436, 
  0.0557556714277292, 0.0930646413413941, 0.0610414215913856, 0.245554619318541, 
  0.490633135315979, 0.758070059865948), type = structure(c(1L, 
  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
  1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
  2L, 2L, 2L), .Label = c("solid", "dashed"), class = "factor"), 
      index = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 
      3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 7L, 
      7L, 7L, 7L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L), .Label = c("2.1", 
      "3.1", "4.1", "17.1", "18.1", "2.2", "3.2", "4.2", "18.2"
      ), class = "factor")), .Names = c("Year", "mpft", "value", 
  "type", "index"), row.names = c("1", "2", "3", "4", "5", "6", 
  "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", 
  "18", "19", "20", "110", "21", "31", "41", "51", "61", "71", 
  "81", "91", "101", "111", "121", "171", "181", "191", "201"), class = "data.frame")
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>Not a very elegant solution but substituting <code>"dashed"</code> with <code>"22"</code> and then using:</p>
  
  <pre><code>ggplot(df,aes(x=Year,y=value, colour = factor(mpft),linetype=type)) +
        geom_line(aes(group = index), size = 1.4) +
        scale_linetype_manual(name= "Run Type", values = unique(as.character(df$type)), labels = run.type) +
        scale_color_manual(name = "PFT",
                           values = setNames(mycol[unique(df$mpft)], unique(df$mpft)),
                           labels = setNames(mynam[unique(df$mpft)], unique(df$mpft)))
  </code></pre>
  
  <p>I am able to get it right</p>
  
  <p><a href="https://i.stack.imgur.com/vbUhy.png" rel="noreferrer"><img src="https://i.stack.imgur.com/vbUhy.png" alt="enter image description here"></a></p>