Я стараюсь сделать диаграмму, показывающую ВВП на душу населения в разных странах, чтобы бары на ней имели разные цвета в соответствии с ожидаемой продолжительностью жизни в этих странах. Пока я могу создать такой барплот, но только с дискретными значениями ожидаемой продолжительности жизни, а не периодом.barplot с различными цветами в соответствии с условием
Было бы идеально, если бы страны, например, где продолжительность жизни от 50 до 70 имели желтый цвет бара, 70-80 - красный и 80-90 - зеленый.
Вот мой код:
data("focusgroup")
par(mar = c(6,4,1,1))
x <- focusgroup[order(focusgroup$GDP), ]
x$color[x$`LE Both Sexes`== 55] <- 1
x$color[x$`LE Both Sexes`==77] <- 2
x$color[x$`LE Both Sexes`==77] <- 3
with(x, barplot(GDP, names.arg = x$Country, las = 2, cex.axis = 0.6, cex.lab = 0.8, cex = 0.6, col = color))
здесь образец данных Фокус-группа: структура (страна = с ("Южная Африка", "Свазиленд", "Ботсвана", "Лесото", " Намибия »,« Швеция »,« Норвегия »,« Соединенное Королевство »,« Дания », « Эстония »,« Финляндия »,« Исландия »,« Ирландия »,« Латвия »,« Литва », « Новая Зеландия », «Австралия», «Южная Корея», «Северная Корея», «Китай», «Япония», «Монголия», «Мексика», «Коста-Рика», «Сальвадор», «Гватемала», «Гондурас», , "Панама", "Никарагуа"), ВВП = c (10700, 4500, 14000, 1700, 6900, 39100, 54600, 34800, 36600, 19100, 35400, 38300, 37300, 14700, 16000, 27700, 41000, 30000, 1800, 7600, 34000, 3600, 13900, 11300, 7200 , 5200, 4200, 13000, 3000), Население = c (54490, 1287, 2262, 2135, 2459, 9779, 5211, 64716, 5669, 1313, 5503, 329, 4688, 1971, 2878, 4529, 23969, 50293 , 25155, 1383925, 126573, 2959, 127017, 4808, 6127, 16343, 8075, 3929, 6082), LE Male
= c (59,3, 56,6, 63,3, 51,7, 63,1, 80,7, 79,8, 79,4, 78,6, 72,7, 78,3, 81,2, 79,4, 69,6, 68,1, 80, 80,9, 78,8, 67, 74,6, 80,5, 64,7, 73,9, 77,1, 68,8, 68,5, 72,3, 74,7, 71,5), LE Both Sexes
= c (62,9, 58,9, 65,7 , 53,7, 65,8, 82,4, 81,8, 81,2, 80,6, 77,6, 81,1, 82,7, 81,4, 74,6, 73,6 , 81.6, 82.8, 82.3, 70.6, 76.1, 83.7, 68.8, 76.7, 79.6, 73.5, 71.9, 74.6, 77.8, 74.8)), .Names = c ("", "Страна", "ISO", "Регион », « Субрегион »,« Скорость убийства »,« Граф »,« ВВП »,« GPI »,« percent_non_religious », « Население »,« Мужчины LE »,« LE Female »,« LE Both Sexes ») row.names = c (NA, 29L), class = c ("tbl_df", "tbl", "data.frame"))
Спасибо заранее!
Не могли бы вы пожалуйста, используйте 'dput()', чтобы дать нам образец данных в 'focusgroup' – G5W
добавил к вопросу – Ekaterina