2017-04-07 6 views
1

パッケージのlsmeansパッケージでは、x軸の連続予測子をカテゴリの予測子として扱うようです。lsmeans :: lsmip:連続値を正しくプロットする方法は?

離散的ではありませんが、(Oatsデータから0.2レベルのニトロを取り除いた場合など)離散的ではありませんが、継続的な予測変数の観測値がある場合、lsmipはそれらを均等な間隔でプロットします。

data("Oats", package = "nlme") 
Oats.lmer2sub <- lmer(log(yield) ~ Variety + poly(nitro,2) 
       + (1|Block/Variety), data = subset(Oats, nitro!=0.2)) 
lsmip(Oats.lmer2sub, Variety ~ nitro, ylab = "Predicted log(yield)", cov.reduce=FALSE) 

enter image description here

私は実際にデータを観測ニトロのレベルでのモデル予測を表示したい場合、これは私にとって重要と思われます。理論的には、ニトロのどのレベルでも予測値を表示できるはずです。

lsmip(Oats.lmer2sub, Variety ~ nitro, ylab = "Predicted log(yield)", at=list(nitro=c(0, 0.2, 0.4, 0.45, 0.46, 0.6))) 

enter image description here

連続変数のための適切な規模に空間にニトロの値をx軸を設定する方法はありますか?意味は、最初のグラフで0.2のスペースをスキップするか、または2番目のグラフで0.45、0.46の点を一緒にクラスタリングすることですか?

+0

号。しかし、 'df < - lsmip(...、plotit = FALSE)'を実行してデータフレームに値を保存し、他のプロット関数を使って必要なプロットを作成することができます。 – rvl

答えて

1

データフレームにプロットされたデータを保存し、必要に応じてその結果をプロットすることができます。あなたの例では、次の機能がちょうど要因との相互作用様式のプロットを作るために設計された

plotdf <- lsmip(Oats.lmer2sub, Variety ~ nitro, 
      at=list(nitro=c(0, 0.2, 0.4, 0.45, 0.46, 0.6)), 
      plotit = FALSE) 

library(lattice) 
xyplot(lsmean ~ nitro, groups = ~Variety, 
     type = "o", ylab = "Predicted log(yield)", data = plotdf) 

Resulting plot

関連する問題