Variável de passagem com tipos de linha para o tipo de linha ggplot

Eu sou novo para ggplot tão urso comigo. Estou projetando projeções de crescimento para 35 áreas geográficas pequenas, o que é uma quantidade insalubre para um lote, mesmo com o uso do fantásticodirectlabels biblioteca. No entanto, preciso de todas as séries para a triagem inicial.

O desafio é torná-lo legível. Eu encontrei uma correção por @Ben Bolker para usargrandes números de cores distintas mas estou tendo problemas para variar o tipo de linha. A série 35 não precisa ser única, mas eu gostaria de usar os 12 tipos diferentes para tornar a série individual mais fácil de ler.

Meu plano era criar uma lista aleatória com 35 elementos dos 12 tipos possíveis e passar isso como o argumento do tipo de linha, mas estou tendo problemas para fazê-lo funcionar, com o erro:

Error: Aesthetics must either be length one, or the same length as the dataProblems:lty

Eu tenho 35 valores na lista de tipos de linha. Claro que eu gostaria que os tipos, cores e todos fossem refletidos na legenda.

Os dados derretidos se parecem com isso; 9 anos de observações para cada uma das 35 séries:

> simulation_long_index[16:24,]    
      year    geography    value
16    2018    sfr_2    101.1871
17    2019    sfr_2    101.1678
18    2020    sfr_2    101.2044
19    2012    sfr_3    100.0000
20    2013    sfr_3    100.1038
21    2014    sfr_3    100.2561
22    2015    sfr_3    100.0631
23    2016    sfr_3    100.8071
24    2017    sfr_3    101.2405    

Aqui esta o meu codigo ate agora:

lty <- data.frame(lty=letters[1:12][sample(1:12, 35,replace=T)])

g3<-ggplot(data=simulation_long_index,
   aes(
     x=as.factor(year), 
     y=value, 
     colour=geography,
     group=geography,
     linetype=lty$lty))+
       geom_line(size=.65) + 
       scale_colour_manual(values=manyColors(35)) +
     geom_point(size=2.5) +
     opts(title="growth")+
     xlab("Year") + 
     ylab(paste("Indexed Value (Rel. to 2012")) + 
     opts(axis.text.x=theme_text(angle=90, hjust=0))

print(g3)

adicionando

    scale_linetype_manual("",values=lty$lty) +

depois de scale_color_manual em vez do argumento tipo de linha produz o gráfico, mas as linhas são todas iguais. Como faço para que as linhas variem para as contagens de séries grandes?

questionAnswers(1)

yourAnswerToTheQuestion