2016-03-23 8 views
1

質問が正しく投稿されることを願っています。それはおそらく些細なことですが、私はまだ答えることができません。私はいくつかのオプションをチェックしました。情報にはhereが含まれていましたが、運勢はありませんでした。おそらく、私はまだラティスのコマンドに慣れていない、または問題は実際には関連していません。Lattice barchartにカーブを追加

私は、標準的な標準分布曲線やデータの密度分布など、曲線を使ってバーカートと重なり合っています。

いくつかのダイスロールの結果を表す、一例として、次のようなデータを検討してください:

e11 <- data.frame(freq = rep(seq(1, 6, 1), c(53, 46, 42, 65, 47, 44))) 

plot_e11 <- barchart(e11, 
      horizontal = FALSE, 
      type = "density", 
      main = "Die results frequencies", 
      panel = function(x, ...){ 
        panel.barchart(x, ...) 
        panel.abline(densityplot(e11$freq))}) 
print(plot_e11a) 

その代わり、期待される結果、通常の棒グラフを返します。

normal barchart

どのように私は、次の例の一つとして、棒グラフに曲線を追加することができますか?

plot_e11b <- densityplot(e11$freq, 
        plot.points = FALSE) 

density plot

答えて

1

panel.abline間違ったパネル機能です。

panel.ablineは、形式y = A + B * X、または垂直 および/または水平ラインのラインを追加します。

densityplot(e11$freq, 
      panel=function(x, ...) { 
       tab <- table(x) 
       panel.barchart(names(tab), tab/length(x), 
          horizontal=FALSE)    
       panel.densityplot(x, plot.points=FALSE)}, 
      ylim=c(0, 0.3)) 

lattice plot

+0

それは完璧に動作します。 'panel.density()'は2行目を受け入れますか?例えば、 'e11 $ freq'の分布と正規曲線との比較を作成するには? – Worice

+1

通常のカーブを追加するには 'panel.mathdensity()'を使うことができます。 – rcs

+0

ありがとうございます。 – Worice