2012-09-27 3 views
6

Я хочу создать график плотности наблюдаемых температур, который масштабируется по количеству событий, наблюдаемых для каждой точки данных температуры. Мои данные содержат две колонки: температура и число [наблюдений].Масштабированный/взвешенный график плотности в R

Прямо сейчас, у меня есть участок плотности, который только включает в себя частоту температуры в соответствии с:

plot(density(Temperature, na.rm=T), type="l", bty="n") 

Как масштабировать эту плотность, чтобы учесть число наблюдений при каждой температуре? Например, я хочу, чтобы график плотности плотности масштабировался, чтобы показать, есть ли больше/меньше наблюдений для каждой температуры при более высоких/низких температурах.

Я думаю, что я ищу что-то, что может привести к снижению температуры?

ответ

6

И сделать это в базе (с использованием данных даН.м. в):

plot(density(dat$Temperature,weights=dat$Number/sum(dat$Number),na.rm=T),type='l',bty='n') 
5

Я думаю, вы можете получить то, что хотите, передав аргумент weights в density. Вот пример использования ggplot

dat <- data.frame(Temperature = sort(runif(10)), Number = 1:10) 
ggplot(dat, aes(Temperature)) + geom_density(aes(weights=Number/sum(Number))) 
+1

__2017 Update: __ эстетическая был переименован 'weight' без' s', так что инструкция построения графика: 'ggplot (dat, aes (x = температура, вес = число/сумма (число))) + geom_density()'. –

Смежные вопросы