I want to generate a density plot of observed temperatures that is scaled by the number of events observed for each temperature data point. My data contains two columns: Temperature and Number [of observations].
Right now, I have a density plot that only incorporates the Temperature frequency according to:
plot(density(Temperature, na.rm=T), type="l", bty="n")
How do I scale this density to account for the Number of observations at each temperature? For example, I want to be able to see the temperature density plot scaled to show if there are greater/fewer observations for each temperature at higher/lower temperatures.
I think I'm looking for something that could weight the temperatures?
I think you can get what you want by passing a weights
argument to density
. Here's an example using ggplot
dat <- data.frame(Temperature = sort(runif(10)), Number = 1:10)
ggplot(dat, aes(Temperature)) + geom_density(aes(weights=Number/sum(Number)))