У меня есть кадр данных в R, называемый x
, который имеет сотни строк. Каждая строка - это человек. У меня две переменные: Height
, которая является непрерывной, и Country
, что является фактором. Я хочу построить сглаженную гистограмму всех высот людей. Я хочу расслоить его на Country
. Я знаю, что я могу сделать это с помощью следующего кода:Стратификация графика плотности различными группами с использованием ggplot2 в R
library(ggplot2)
ggplot(x, aes(x=Height, colour = (Country == "USA"))) + geom_density()
Строит всех от США, как один цвет (правда), и все из любой другой страны, другой цвет (ложь). Тем не менее, мне бы очень хотелось, чтобы каждый из США был одним цветом, а все из Омана, Нигерии и Швейцарии - другим цветом. Как мне настроить свой код для этого?
Вы могли бы попробовать создать столбец 'x', который будет что-то вроде:' COUNTRY2 <- IfElse (х $ Страна == "США", "цвет1", IfElse (х $ Страна% в% c («Оман», «Нигерия», «Швейцария»), «color2», «»). Затем используйте этот столбец как цвет. –
Насколько я понимаю, вы хотите, чтобы одна плотность для страны и одного цвета для США и еще один для второго, а затем добавьте ** group = Country ** в функцию aes. –
@PeterDee Что делать, если я хотел бы построить две совершенно разные сглаженные гистограммы на одном и том же участке? Есть ли способ просто построить во-первых, оставьте его на экране, а затем наложите другое на другой цвет? – Alexander