0
ブートストラップを使用して、95%信頼区間の境界にガンマ分布のサンプルサイズの効果を表示しようとしています。今、4つの異なるサンプルサイズの結果を1つのボックスプロットにまとめる必要があります。 Rコードは次のとおりです。95%信頼度の結果を比較するためのRのBoxplot異なるサンプルサイズの間隔
y <- rgamma(30,1,1) + rnorm(30,0,0.01)
y60 <- rgamma(60,1,1) + rnorm(60,0,0.01)
y100 <- rgamma(100,1,1) + rnorm(100,0,0.01)
y200 <- rgamma(200,1,1) + rnorm(200,0,0.01)
minusL <- function(params, data) {
-sum(log(dgamma(data, params[1], params[2])))
}
fit <- nlm(minusL, c(1,1), data=y)
fit
gammamedian<-function(data) {
fit <- nlm(minusL, c(1,1), data=data)
qgamma(.5, fit$estimate[1], fit$estimate[2])
}
gammamedian(y)
gammamedian(y60)
gammamedian(y100)
gammamedian(y200)
gengamma<- function(data, params){
rgamma(length(data), params[1], params[2])}
library(boot)
pbootresults<-boot(y, gammamedian, R=1000, sim="parametric",
ran.gen=gengamma, mle=fit$estimate)
pbootresults
boot.ci(pbootresults, type=c("basic", "perc", "norm"))
pbootresults<-boot(y60, gammamedian, R=1000, sim="parametric",
ran.gen=gengamma, mle=fit$estimate)
pbootresults
boot.ci(pbootresults, type=c("basic", "perc", "norm"))
pbootresults<-boot(y100, gammamedian, R=1000, sim="parametric",
ran.gen=gengamma, mle=fit$estimate)
pbootresults
boot.ci(pbootresults, type=c("basic", "perc", "norm"))
pbootresults<-boot(y200, gammamedian, R=1000, sim="parametric",
ran.gen=gengamma, mle=fit$estimate)
pbootresults
boot.ci(pbootresults, type=c("basic", "perc", "norm"))
[An Excel image example ][1]
[1]: https://i.stack.imgur.com/JXR6P.jpg
最初の関数 'gammamedian'に' minusL'と呼ばれるオブジェクトとは何ですか? –
思い出してくれてありがとう。関数minusLは、指定されたパラメータ値の の対数尤度関数を(マイナス)評価し、最小尤度推定を求めるために最小化するためにnlmが使用されます。 – Reza
あなたの質問にお答えしますか?それを解決してくださいとマークするよりも? –