[英]R: Overlaying Poisson Distribution over a Histogram of Data
我有一個數據集,其中觀察范圍很廣(10,000 到 21,000,000 左右)。 我試圖在這些數據上覆蓋泊松分布,但分布輸出不正確。 到目前為止,我已嘗試使用此代碼:
dat <- read.csv('data.csv', TRUE, ',')
hist(dat,
main = 'Global Sales of Games in 2010',
xlab = 'Amount of Copies Sold',
ylab = 'Counts',
col = 'palegreen1',
breaks = 100
)
lam = mean(dat)
t = seq(min(dat), max(dat), length.out = 10000)
lines(t, dpois(t, lambda = lam), col='red', lwd=3)
我也嘗試過使用 rpois 從泊松分布生成數據,但仍然遇到同樣的問題。
simulated = rpois(length(dat), lam)
simulated_lam = mean(simulated)
a = seq(min(simulated), max(simulated), length.out = 10000)
hist(simulated)
lines(a, dpois(a, lambda = simulated_lam), col='red', lwd=3)
我在這里引用了這個問題,但不能產生相同的結果。 R:數據直方圖上的疊加泊松分布
我有生成的 output 的圖像,但由於這是一個新帳戶,因此無法發布。 如果有人知道發布圖片的另一種方式,我很樂意跟進。
提前致謝。
您的代碼會引發一些警告,因為您使用dpois(t, lambda = lam)
的t
不是 integer (您可以通過在控制台中輸入warnings()
來查看這些警告)。 通過將length.out = 10000
更改為by = 1
,您可以強制t
僅包含整數,假設您的dat
僅包含整數。
下面,我做了一個有效的例子(其中dat
是我隨機生成的)。 請注意,我將dpois()
調用乘以從密度到計數的 go 的數據集大小。
dataset_size <- 100
dat <- rpois(dataset_size, lambda = 10)
hist(dat,
main = 'Global Sales of Games in 2010',
xlab = 'Amount of Copies Sold',
ylab = 'Counts',
col = 'palegreen1',
breaks = 100
)
lam = mean(dat)
t = seq(min(dat), max(dat), by = 1)
lines(t, dpois(t, lambda = lam)*dataset_size, col='red', lwd=3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.