Изменение легенды и изменение типа строки в множественной линейной регрессии

#r #ggplot2

#r #ggplot2

Вопрос:

У меня есть этот код для графика:

 t <- ggplot(painel_df, aes(as.numeric(Year), E.tertiary, shape =income_group, linetype = income_group, colour=income_group, fill=income_group ))  
  geom_smooth(method="lm")  
  geom_point(size=0.1)  
  theme_bw()   
  xlab("Years")  
  ylab("Tertiary enrollments (%gross)")    theme_bw()  
  theme(axis.line = element_line(colour = "grey67"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank()) 

plot(t)

  

И дает мне этот график

введите описание изображения здесь

У меня есть два сомнения:

  1. Изменение порядка и названия легенды: я хочу, чтобы заголовок был «Группа доходов», а для порядка я хочу «Высокий», «Выше среднего», «Ниже среднего», а затем «Низкий»

  2. Я хочу изменить тип строки. Таким образом, если читатель читает мою статью черным по белому, он может понять, какая строка представляет каждую группу доходов. Проблема в том, что я добавил тип строки в свой код, однако я не думаю, что это воспринимается читателем. Я думаю, что хорошим типом строки для различения каждой группы было бы: одна строка с «сплошным», вторая с «пунктиром», третья с «пунктиром» и последняя с «dotdash».

Вы можете мне помочь?

Пример моих данных здесь:

      Country Year E.tertiary income_group
1      Albania 1980         NA           UM
2      Albania 1981    5.18940           UM
3      Albania 1982         NA           UM
4      Albania 1983    5.92612           UM
5      Albania 1984    6.55999           UM
6      Albania 1985    7.02591           UM
7      Albania 1986    7.22121           UM
8      Albania 1987    7.32687           UM
9      Albania 1988    7.73796           UM
10     Albania 1989    8.14828           UM
11     Albania 1990    8.36636           UM
12     Albania 1991    8.85533           UM
13     Albania 1992    9.28732           UM
14     Albania 1993   11.17761           UM
15     Albania 1994   10.63358           UM
16     Albania 1995   10.20282           UM
17     Albania 1996   10.93945           UM
18     Albania 1997   12.69972           UM
19     Albania 1998   13.55017           UM
20     Albania 1999   14.74777           UM
21     Albania 2000   15.53661           UM
22     Albania 2001   15.90463           UM
23     Albania 2002   16.31143           UM
24     Albania 2003   16.65724           UM
25     Albania 2004   19.89044           UM
26     Albania 2005   23.18983           UM
27     Albania 2006   26.63714           UM
28     Albania 2007   30.68713           UM
29     Albania 2008   32.09280           UM
30     Albania 2009   33.38555           UM
31     Albania 2010   44.54925           UM
32     Albania 2011   49.87870           UM
33     Albania 2012   59.25201           UM
34     Albania 2013   64.63443           UM
35     Albania 2014   65.78297           UM
36     Albania 2015   62.00762           UM
37     Albania 2016   58.38185           UM
38     Albania 2017   57.37526           UM
39     Albania 2018   54.96133           UM
40     Albania 2019         NA         <NA>
41     Algeria 1980         NA           UM
42     Algeria 1981         NA           UM
43     Algeria 1982         NA           UM
44     Algeria 1983         NA           UM
45     Algeria 1984         NA           UM
46     Algeria 1985         NA           UM
47     Algeria 1986         NA           UM
48     Algeria 1987    9.04504           UM
49     Algeria 1988    8.86452           UM
50     Algeria 1989         NA           UM
51     Algeria 1990   10.29314           UM
52     Algeria 1991   11.01270           UM
53     Algeria 1992   11.14538           UM
54     Algeria 1993   10.98829           UM
55     Algeria 1994   10.46949           UM
56     Algeria 1995   10.15425           UM
57     Algeria 1996   11.41825           UM
58     Algeria 1997         NA           UM
59     Algeria 1998         NA           UM
60     Algeria 1999   13.72464           UM
61     Algeria 2000         NA           UM
62     Algeria 2001   15.65381           UM
63     Algeria 2002   17.37116           UM
64     Algeria 2003   18.57795           UM
65     Algeria 2004   19.14942           UM
66     Algeria 2005   20.87286           UM
67     Algeria 2006   21.33784           UM
68     Algeria 2007   23.60133           UM
69     Algeria 2008         NA           UM
70     Algeria 2009   29.90938           UM
71     Algeria 2010   29.88943           UM
72     Algeria 2011   31.21409           UM
73     Algeria 2012   32.20153           UM
74     Algeria 2013   33.89099           UM
75     Algeria 2014   34.48182           UM
76     Algeria 2015   36.78132           UM
77     Algeria 2016   42.62885           UM
78     Algeria 2017   47.64683           UM
79     Algeria 2018   51.36567           UM
80     Algeria 2019         NA           UM
81   Argentina 1980   21.73469           UM
82   Argentina 1981   23.10263           UM
83   Argentina 1982   23.83000           UM
84   Argentina 1983   24.83893           UM
85   Argentina 1984   28.67647           UM
86   Argentina 1985   35.49595           UM
87   Argentina 1986   37.42499           UM
88   Argentina 1987   39.22065           UM
89   Argentina 1988         NA           UM
90   Argentina 1989         NA           UM
91   Argentina 1990         NA           UM
92   Argentina 1991   38.11911           UM
93   Argentina 1992         NA           UM
94   Argentina 1993         NA           UM
95   Argentina 1994   37.00133           UM
96   Argentina 1995         NA           UM
97   Argentina 1996         NA           UM
98   Argentina 1997         NA           UM
99   Argentina 1998   46.96070           UM
100  Argentina 1999   48.83172           UM
101  Argentina 2000   53.96481           UM
102  Argentina 2001   59.01155           UM
103  Argentina 2002   62.74873           UM
104  Argentina 2003   65.17626           UM
105  Argentina 2004   65.48537           UM
106  Argentina 2005   63.96667           UM
107  Argentina 2006   66.96473           UM
108  Argentina 2007   66.41163           UM
109  Argentina 2008   68.05695           UM
110  Argentina 2009   70.20646           UM
111  Argentina 2010   73.23140           UM
112  Argentina 2011   76.29740           UM
113  Argentina 2012   77.44629           UM
114  Argentina 2013   78.22390           UM
115  Argentina 2014   80.99581           UM
116  Argentina 2015   84.00200           UM
117  Argentina 2016   87.21345           UM
118  Argentina 2017   89.95852           UM
119  Argentina 2018         NA           UM
120    Armenia 1980         NA           LM
121    Armenia 1981         NA           LM
122    Armenia 1982         NA           LM
123    Armenia 1983         NA           LM
124    Armenia 1984         NA           LM
125    Armenia 1985         NA           LM
126    Armenia 1986   17.59960           LM
127    Armenia 1987         NA           LM
128    Armenia 1988   18.79871           LM
129    Armenia 1989   20.43590           LM
130    Armenia 1990   23.20482           LM
131    Armenia 1991   25.35670           LM
132    Armenia 1992   25.34212           LM
133    Armenia 1993   23.02764           LM
134    Armenia 1994   19.12431           LM
135    Armenia 1995   19.08214           LM
136    Armenia 1996   16.93857           LM
137    Armenia 1997   22.72023           LM
138    Armenia 1998   33.57358           LM
139    Armenia 1999   35.21241           LM
140    Armenia 2000   35.54979           LM
141    Armenia 2001   33.54530           LM
142    Armenia 2002   36.14686           LM
143    Armenia 2003   37.21888           LM
144    Armenia 2004   37.88314           LM
145    Armenia 2005   39.54677           LM
146    Armenia 2006   43.11535           LM
147    Armenia 2007   45.93094           LM
148    Armenia 2008   48.48933           LM
149    Armenia 2009   51.33459           LM
150    Armenia 2010   52.98915           LM
151    Armenia 2011   53.33778           LM
152    Armenia 2012   46.15803           LM
153    Armenia 2013   45.73739           LM
154    Armenia 2014   47.08219           LM
155    Armenia 2015   46.52180           LM
156    Armenia 2016   51.08019           LM
157    Armenia 2017   52.25153           LM
158    Armenia 2018   54.57048           LM
159    Armenia 2019         NA         <NA>
160    Austria 1980   21.36817            H
161    Austria 1981   22.30216            H
162    Austria 1982   22.46463            H
163    Austria 1983   22.98781            H
164    Austria 1984   23.94280            H
165    Austria 1985   25.52486            H
166    Austria 1986   26.70454            H
167    Austria 1987   27.81727            H
168    Austria 1988   29.37026            H
169    Austria 1989   30.58759            H
170    Austria 1990   32.53644            H
171    Austria 1991   34.69429            H
172    Austria 1992   37.61071            H
173    Austria 1993   39.76938            H
174    Austria 1994   42.26460            H
175    Austria 1995   44.97695            H
176    Austria 1996   47.49055            H
177    Austria 1997   49.56702            H
178    Austria 1998   52.39628            H
179    Austria 1999         NA            H
180    Austria 2000         NA            H
181    Austria 2001         NA            H
182    Austria 2002         NA            H
183    Austria 2003         NA            H
184    Austria 2004         NA            H
185    Austria 2005         NA            H
186    Austria 2006         NA            H
187    Austria 2007   63.04729            H
188    Austria 2008   65.88690            H
189    Austria 2009   68.11265            H
190    Austria 2010   75.62378            H
191    Austria 2011   78.49945            H
192    Austria 2012   78.93891            H
193    Austria 2013   79.65540            H
194    Austria 2014   79.15870            H
195    Austria 2015   80.71942            H
196    Austria 2016   83.45495            H
197    Austria 2017   85.05714            H
198    Austria 2018         NA            H
199    Austria 2019         NA         <NA>
200 Bangladesh 1980    3.24599           LM
201 Bangladesh 1981    3.09603           LM
202 Bangladesh 1982    3.80131           LM
203 Bangladesh 1983    4.67838           LM
204 Bangladesh 1984    5.04444           LM
205 Bangladesh 1985    5.11443           LM
206 Bangladesh 1986    4.98486           LM
207 Bangladesh 1987    4.32374           LM
208 Bangladesh 1988    3.71820           LM
209 Bangladesh 1989    3.67474           LM
210 Bangladesh 1990    4.20896           LM
211 Bangladesh 1991         NA           LM
212 Bangladesh 1992         NA           LM
213 Bangladesh 1993         NA           LM
214 Bangladesh 1994         NA           LM
215 Bangladesh 1995         NA           LM
216 Bangladesh 1996         NA           LM
217 Bangladesh 1997         NA           LM
218 Bangladesh 1998         NA           LM
219 Bangladesh 1999    5.63344           LM
220 Bangladesh 2000    5.63134           LM
221 Bangladesh 2001    6.65154           LM
222 Bangladesh 2002    6.34442           LM
223 Bangladesh 2003    6.39096           LM
224 Bangladesh 2004    5.88915           LM
225 Bangladesh 2005    6.44670           LM
226 Bangladesh 2006    7.36120           LM
227 Bangladesh 2007    7.93297           LM
228 Bangladesh 2008    8.88409           LM
229 Bangladesh 2009   10.85809           LM
230 Bangladesh 2010         NA           LM
231 Bangladesh 2011   13.69156           LM
232 Bangladesh 2012   13.80100           LM
233 Bangladesh 2013         NA           LM
234 Bangladesh 2014   13.86508           LM
235 Bangladesh 2015         NA           LM
236 Bangladesh 2016   17.87436           LM
237 Bangladesh 2017   18.15146           LM
238 Bangladesh 2018   20.56507           LM
239    Belarus 1980   38.38587           UM
240    Belarus 1981   39.68625           UM
241    Belarus 1982   39.96981           UM
242    Belarus 1983   41.18185           UM
243    Belarus 1984   42.57104           UM
244    Belarus 1985   44.40880           UM
245    Belarus 1986   45.58386           UM
246    Belarus 1987   46.69733           UM
247    Belarus 1988   47.64348           UM
248    Belarus 1989   48.20013           UM
249    Belarus 1990   49.51083           UM
250    Belarus 1991   48.20178           UM

  

Ответ №1:

Я не смог это протестировать, поскольку вы не включили свой фрейм данных. Пожалуйста, используйте dput для этого функцию.

Я передал linetype geom_smooth кому и вручную установил разрывы для вашей легенды.

 ggplot(painel_df, aes(as.numeric(Year), E.tertiary, shape =income_group, colour=income_group, fill=income_group))  
  geom_smooth(aes(linetype = income_group), method="lm")  
  geom_point(size=0.1)  
  theme_bw()   
  xlab("Years")  
  ylab("Tertiary enrollments (%gross)")    theme_bw()  
  theme(axis.line = element_line(colour = "grey67"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank())  
  scale_colors_manual(breaks=c("H", "UM", "LM", "L"))
  

Если строки не меняются, вы можете добавить:

 scale_linetype_manual(values=c("solid", "dashed", "dotted", "dotdash"))
  

Комментарии:

1. Я не знаю, как использовать dput. Тем не менее, я добавил образец своей базы данных. Помогает ли это?

2. Просто скопируйте и вставьте выходные данные dput(painel_df)

Ответ №2:

 painel_df$income_group <- factor(painel_df$income_group, levels=c("H", "UM", "LM", "L"), labels=c("High", "Upper-middle", "Lower-middle", "Low"))


tt<- ggplot(painel_df, aes(as.numeric(Year), E.tertiary, colour = income_group, fill=income_group))  
  geom_smooth(aes(linetype = income_group), method="lm")  
  scale_linetype_manual(values=c("solid" , "dotdash", "dotted", "twodash"))   
  theme(legend.title = element_blank())  
  theme(axis.line = element_line(colour = "grey67"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank())  
  xlab("Years")  
  ylab("Tertiary enrollments (%gross)")  


 
plot(tt)
  
  1. Первое сомнение устраняется в первой строке кода
  2. и для второй проблемы — это функция «scale_linetype_manual»

Вывод дает следующее

введите описание изображения здесь