如何在条形图R上绘制指数函数?

时间:2013-07-17 13:39:27

标签: r graph plot exponential

所以我有一个条形图,其中y轴是日志(频率)。从盯上它看来,酒吧似乎呈指数下降,但我想肯定地知道这一点。我想要做的是在同一图表上绘制指数。因此,如果我的条形低于指数,我会知道我的条形指数或指数减少指数,如果条形位于指数之上,我会知道它们不会指数减少。如何在条形图上绘制指数?

如果有帮助,这是我的图表:

enter image description here

2 个答案:

答案 0 :(得分:4)

如果您正在尝试拟合指数函数的密度,则应该绘制密度直方图(而不是频率)。有关如何在R中绘制分布的信息,请参见this question

我就是这样做的。

x.gen <- rexp(1000, rate = 3)
hist(x.gen, prob = TRUE)

library(MASS)
x.est <- fitdistr(x.gen, "exponential")$estimate

curve(dexp(x, rate = x.est), add = TRUE, col = "red", lwd = 2)

enter image description here

答案 1 :(得分:2)

目视检查两个分布是否相同的一种方法是使用分位数 - 分位数图或简称Q-Q图。通常,这是在检查分布是否遵循标准法线时完成的。

基本思想是根据某些理论分位数绘制数据,如果它与该分布匹配,您将看到一条直线。例如:

x <- qnorm(seq(0,1,l=1002))  # Theoretical normal quantiles
x <- x[-c(1, length(x))]  # Drop ends because they are -Inf and Inf
y <- rnorm(1000)  # Actual data. 1000 points drawn from a normal distribution
l.1 <- lm(sort(y)~sort(x))
qqplot(x, y, xlab="Theoretical Quantiles", ylab="Actual Quantiles")
abline(coef(l.1)[1], coef(l.1)[2])

Q-Q Plot for normal distribution

在完美条件下,您应该在根据数据绘制理论分位数时看到一条直线。因此,您可以根据您认为将遵循的指数函数绘制数据。