Отличный пост Ахмара! Выступления Ганса Рослинга на TED - одни из лучших, когда речь идет о данных, визуализации и статистических концепциях.

Чтобы сделать вызов подмножества более чистым, вы также можете использовать оператор %in%. Это позволяет вам ввести country один раз, а затем использовать оператор %in%, чтобы отфильтровать его для вектора параметров, в данном случае для ваших 8 стран.

Вместо подмножества вы также можете использовать фильтр функций _4 _ / _ 5_:

ggplot(subset(gapminder, country %in% c('Afghanistan', 'China', 'United States', 'Sweden', 'Japan', 'Kuwait', 'Malawi', 'Pakistan')), aes(x=year,y=lifeExp,colour=country))+geom_line(lwd=1.5)

Для tidyverse пуристов вы также можете использовать функцию filter из dplyr и передать результат в ggplot.

library(dplyr)
gapminder %>%
    filter(country %in% c('Afghanistan', 'China', 'United States', 'Sweden', 'Japan', 'Kuwait', 'Malawi', 'Pakistan')) %>%
    ggplot(aes(x=year,y=lifeExp,colour=country))+geom_line(lwd=1.5)

Все они создают точно такой же график, как и вы, но требуют меньше набора текста, а значит, меньше мест для опечаток. Я думаю, что их тоже легче читать и интерпретировать, но это несколько субъективно!