qqmath 関数は、lmer パッケージからの出力を使用して、ランダム効果の優れたキャタピラー プロットを作成します。つまり、qqmath は、階層モデルからの切片と点推定値の誤差をプロットするのに優れています。Dyestuff と呼ばれる lme4 パッケージの組み込みデータを使用した lmer 関数と qqmath 関数の例を以下に示します。このコードは、ggmath 関数を使用して、階層モデルと適切なプロットを生成します。
library("lme4")
data(package = "lme4")
# Dyestuff
# a balanced one-way classiï¬cation of Yield
# from samples produced from six Batches
summary(Dyestuff)
# Batch is an example of a random effect
# Fit 1-way random effects linear model
fit1 <- lmer(Yield ~ 1 + (1|Batch), Dyestuff)
summary(fit1)
coef(fit1) #intercept for each level in Batch
# qqplot of the random effects with their variances
qqmath(ranef(fit1, postVar = TRUE), strip = FALSE)$Batch
コードの最後の行は、各推定値の周りの誤差を含む各切片の非常に優れたプロットを生成します。しかし、qqmath 関数の書式設定は非常に難しいようで、プロットの書式設定に苦労しています。私は答えられないいくつかの質問を思いつきました.lmer/qqmathの組み合わせを使用している場合、他の人も恩恵を受けることができると思います:
- 上記のqqmath関数を使用して、特定のポイントを空にするか塗りつぶすか、ポイントごとに異なる色にするなど、いくつかのオプションを追加する方法はありますか? たとえば、バッチ変数の A、B、および C のポイントを塗りつぶし、残りのポイントを空にすることはできますか?
- 各ポイントに軸ラベルを追加することはできますか (たとえば、上または右の y 軸に沿って)。
- データの切片は 45 に近いので、ラベルが互いにぶつからないようにラベル間にスペースを追加することはできますか? 主に、グラフ上のポイントを区別/ラベル付けすることに興味がありますが、これは ggmath 関数では面倒/不可能と思われます。
これまでのところ、qqmath 関数に任意のオプションを追加すると、標準プロットであればエラーにならないエラーが発生するので、途方に暮れています。
また、lmer 出力からの切片をプロットするためのより良いパッケージ/関数があると思われる場合は、ぜひお聞かせください。(たとえば、dotplot を使用してポイント 1 ~ 3 を実行できますか?)
編集:合理的にフォーマットできる場合は、代替のドットプロットも受け入れます。私は ggmath プロットの外観が好きなので、それについての質問から始めます。