4

ポアソン回帰を行い、モデルを視覚化しました。

library(ggplot2)
year <- 1990:2010
count <- c(29, 8, 13, 3, 20, 14, 18, 15, 10, 19, 17, 18, 24, 47, 52, 24, 25, 24, 31, 56, 48)
df <- data.frame(year, count)
my_glm <- glm(count ~ year, family = "poisson", data = df)
my_glm$model$fitted <- predict(my_glm, type = "response")
ggplot(my_glm$model) + geom_point(aes(year, count)) + geom_line(aes(year, fitted))

ここに画像の説明を入力

次に、これらのシミュレートされたポアソン分布をプロットに追加します。

library(plyr)
poisson_sim <- llply(my_glm$model$fitted, function(x) rpois(100, x))

プロットは次のようになります (赤い点はフォトショップ処理されています)。

ここに画像の説明を入力

4

1 に答える 1

4

シミュレートされた値をベクトルに変換し、それらを使用して、1 つの列に 100 回ごとに繰り返される年が含まれ、2 番目の列がシミュレートされた値である新しいデータ フレームを作成できます。

poisson_sim <- unlist(llply(my_glm$model$fitted, function(x) rpois(100, x)))
df.new<-data.frame(year=rep(year,each=100),sim=poisson_sim)

次に、シミュレートされたポイントを で追加しgeom_jitter()ます。

ggplot(my_glm$model) + geom_point(aes(year, count)) + geom_line(aes(year, fitted))+
      geom_jitter(data=df.new,aes(year,sim),color="red")

ここに画像の説明を入力

于 2014-05-18T18:56:54.040 に答える