2013-07-17 239 views
2

所以我有一個barplot其中y軸是日誌(頻率)。從盯着它看,棒看起來呈指數級下降,但我想知道這一點。我想要做的也是在同一個圖上繪製一個指數。因此,如果我的線條落在指數下,我會知道我的線條要麼比指數更快地減速,要麼比指數更快,並且如果線條位於指數的頂部,我會知道它們不會成指數遞減。如何在條形圖上繪製指數?如何在barplot R上繪製指數函數?

這是我的圖形是否有幫助:

enter image description here

+1

您可以找到兩個指數曲線,一個高於一個值,一個低於您的值。因此,你的前提是有缺陷的。 –

+0

我認爲這取決於您用於生成此barplot的命令。你使用ggplot2包嗎? – vinnief

+0

@vinnief幾乎肯定沒有。 – joran

回答

4

如果你試圖將一個指數函數,你應該情節密度直方圖(不是頻率)的密度。請參閱this question關於如何在R中繪製分佈圖。

這就是我要做的。

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

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

在完美的條件下對你的數據繪製的理論位數時,你應該看到一條直線。因此,您可以將您的數據與您認爲將遵循的指數函數進行相同的繪圖。