Отдельный stat_density для двух кривых плотности в ggplot2

Я пытаюсь создать ggplot, который показывает гистограмму данных, а также две кривые плотности, в которых одна не имеет значения настройки, а другая имеет. Я попробовал следующий код:

ggplot(df, aes_string(x=value))+ 
        geom_histogram(aes(y=..density..), colour="grey", fill="grey", alpha=.3)+
        geom_density(colour="red", fill="red", alpha=.3)+
        stat_density(bw="SJ", alpha=0)+
        geom_density(colour="blue", fill="blue", alpha=.3)+
        stat_density(bw="SJ", adjust=5, alpha=0)+
        theme_bw()

Но это дает этот график с обеими кривыми, перекрывающимися на 100%...

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

Используемый фрейм данных .txt находится на моем диске Google. продвигать!


person Dominik Rolph    schedule 07.06.2018    source источник
comment
Пожалуйста, сделайте свой пример воспроизводимым, предоставив образцы данных и ожидаемый результат. . Я не понимаю, что вы подразумеваете под у одного нет значения настройки, а у другого есть.   -  person Maurits Evers    schedule 08.06.2018
comment
На этом графике я хочу сравнить две кривые плотности — одну, где я хочу добавить значение настройки, и одну со стандартной полосой пропускания, где настройка = 1. Обе кривые плотности предназначены для представления одних и тех же данных. Теперь я добавил ссылку на файл .txt, который использовал.   -  person Dominik Rolph    schedule 08.06.2018


Ответы (1)


Добавление определенного аргумента adjust к geom_density не делает того, что вы хотите?

ggplot(df, aes(x=value))+ 
        geom_histogram(aes(y=..density..), colour="grey", fill="grey", alpha=.3)+
        geom_density(colour="red", fill="red", alpha=.3, adjust = 1)+
        geom_density(colour="blue", fill="blue", alpha=.3, adjust = 2)+
        theme_bw()

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

person Maurits Evers    schedule 07.06.2018
comment
Привет, тогда у меня возник еще один вопрос; ggplot не показывает ожидаемых результатов. Моя цель состояла в том, чтобы определить кривую плотности для каждого стимула, где максимальная плотность соответствует определенному числу. Это делается с помощью цикла for. Когда я делаю df<-subset(df, Stimulus=="Problema1.rtf"например, а затем делаю plot(density(as.numeric(df$value, bw="SJ", adjust=4.3)), получается другая кривая по сравнению с командой ggplot, использующей настройку 4,3 для синей кривой, для сравнения см.: drive.google.com/drive/folders/ - person Dominik Rolph; 08.06.2018
comment
Привет, здесь: stackoverflow.com/questions/18162425/ я нашел информацию, которую сейчас хотел - они geom_density иdensity(), по-видимому, используют разные значения, что было причиной, почему мне было интересно о результатах. Когда я делаю это так, как предложил Чейз в этом посте, я получаю желаемые результаты. Большое спасибо! - person Dominik Rolph; 08.06.2018
comment
@DominikGrätz Добро пожаловать; рад, что получилось! - person Maurits Evers; 08.06.2018