経験的密度とdnorm関数を使用したヒストグラムのオーバーレイ

ペツィ

ggplotヒストグラム(y軸=カウント)を経験的および正規密度曲線でオーバーレイしたいと思います。私は試した:

library(ggplot2) 
set.seed(1234) 
v <- as_tibble(rnorm(1000, 10, 2.5)) 
ggplot(v, aes(x = value)) +
        geom_histogram(aes(y = ..density..), 
                       bins = 40,  colour = "black", fill = "white") +
        geom_line(aes(y = ..density.., color = 'Empirical'), stat = 'density') +     
        stat_function(fun = dnorm, aes(color = 'Normal'),
                         args = list(mean = 10, sd = 2.5)) +
        scale_colour_manual(name = "Colors", values = c("red", "blue"))

ここに画像の説明を入力してください

しかし、これはyスケールの密度を持っているので、y軸として頻度が必要です。

私の2番目の試行では、頻度(カウント)をy軸としてプロットを作成しましたが、経験的な密度のみを使用しました。

library(ggplot2)
set.seed(1234)
v <- as_tibble(rnorm(1000, 10, 2.5))
b  <- seq(0, 20, by = 0.5)
p1 <- ggplot(v, aes(x = value)) +
    geom_histogram(aes(y = ..count..), 
                   breaks = b,
                   binwidth = 0.5,  
                   colour = "black", 
                   fill = "white") +
    geom_line(aes(y = ..density.. * (1000 * 0.5),
                    color = 'Empirical'),
                    stat = 'density') +
    scale_colour_manual(name = "Colors", values = c("red", "blue"))

同じプロットにdnorm曲線も表示できませんでした。たとえば次の線を試してみると、x軸に密度曲線(青い線)が表示されました。

p2 <- p1 + stat_function(fun = dnorm, aes(color = 'Normal'),
                     args = list(mean = 10, sd = 2.5))
p2  

ここに画像の説明を入力してください

(経験的な線のように)ビン幅で曲線を適応させる必要があると思いますが、それを行う方法がわかりません。

私はSOでこの問題を検索し、多くの同様の質問を見つけることができました。しかし、それらはすべて、私の最初の試行(y軸として密度を使用)、カウント軸を使用した経験的なオーバーレイ(2番目の試行)、または私がよく知らない他の(基本)プロットコマンドのいずれかに対処しました。

ペツィ

@ user20650からのリンクに従ってコードを書き直し、@ PatrickTによる回答を問題に適用しました。

library(ggplot2)
n = 1000
mean = 10
sd = 2.5
binwidth = 0.5
set.seed(1234)
v <- as_tibble(rnorm(n, mean, sd))
b  <- seq(0, 20, by = binwidth)
ggplot(v, aes(x = value, mean = mean, sd = sd, binwidth = binwidth, n = n)) +
    geom_histogram(aes(y = ..count..), 
           breaks = b,
           binwidth = binwidth,  
           colour = "black", 
           fill = "white") +
    geom_line(aes(y = ..density.. * n * binwidth, colour = "Empirical"),
           size = 1, stat = 'density') +
    stat_function(fun = function(x) 
           {dnorm(x, mean = mean, sd = sd) * n * binwidth}, 
           aes(colour = "Normal"), size = 1) +
    labs(x = "Score", y = "Frequency") +
    scale_colour_manual(name = "Line colors", values = c("red", "blue"))

決定的な変更は、stat-functionnとbinwidthに必要な適応が提供されるラインにあります。さらに、パラメータをaes()に渡すことができることを知りませんでした。

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PDFをオーバーレイしたヒストグラム

分類Dev

密度プロットをオーバーレイしてggplotヒストグラムに凡例を追加

分類Dev

ggplotのヒストグラムとヒストグラムの境界線をオーバーレイ

分類Dev

オーバーレイされたヒストグラムと密度プロットでのr頻度カウント

分類Dev

ヒストグラムと密度プロットを密度ではなくY軸の数値とオーバーラップする方法

分類Dev

Plotlyを使用してRのヒストグラムの上に垂直線をオーバーレイします

分類Dev

元の数値を比率でヒストグラムにオーバーレイします

分類Dev

ggplot2を使用したヒストグラム上の密度

分類Dev

縦軸が頻度(別名カウント)または相対頻度であるヒストグラム上の「密度」曲線オーバーレイ?

分類Dev

xyシフトで複数のヒストグラムをオーバーレイする方法

分類Dev

2つのヒストグラムをplotlyexpressでオーバーレイ

分類Dev

RPlotlyで2つのヒストグラムをオーバーレイする

分類Dev

1つのプロットに3つのヒストグラムをオーバーレイします

分類Dev

Rでggplot2を使用してヒストグラムをオーバーレイする

分類Dev

ヒストグラムのビンのエッジが2つのオーバーレイされたプロットと整列しません

分類Dev

ggplot2のヒストグラムに正規曲線をオーバーレイします

分類Dev

Python:Plotlyを使用してヒストグラムをスタックまたはオーバーレイする方法

分類Dev

確率密度関数を使用して等しいビン幅と等しいビン高さのヒストグラムを作成する方法

分類Dev

密度ヒストグラムをRに適合するガンマ分布でオーバーレイする方法は?

分類Dev

ヒストグラム軸を使用した散布図の色による密度

分類Dev

Pythonでのヒストグラム平滑化を使用したKL(カルバックライブラー)距離

分類Dev

オーバーレイ付きのPandasDataFrameからの複数のヒストグラム

分類Dev

オーバーレイヒストグラムを作成する方法をボケ

分類Dev

対数スケールと線形スケールの関数とヒストグラムを同じキャンバスにプロットします

分類Dev

PDFをオーバーレイしてヒストグラムをプロットする

分類Dev

ggplot2のカウントデータを使用してヒストグラムに密度線を追加する

分類Dev

R:データのヒストグラム上にポアソン分布をオーバーレイする

分類Dev

rの決定木にヒストグラムプロットをオーバーレイする

分類Dev

1つのプロットにヒストグラムをオーバーレイ

Related 関連記事

  1. 1

    PDFをオーバーレイしたヒストグラム

  2. 2

    密度プロットをオーバーレイしてggplotヒストグラムに凡例を追加

  3. 3

    ggplotのヒストグラムとヒストグラムの境界線をオーバーレイ

  4. 4

    オーバーレイされたヒストグラムと密度プロットでのr頻度カウント

  5. 5

    ヒストグラムと密度プロットを密度ではなくY軸の数値とオーバーラップする方法

  6. 6

    Plotlyを使用してRのヒストグラムの上に垂直線をオーバーレイします

  7. 7

    元の数値を比率でヒストグラムにオーバーレイします

  8. 8

    ggplot2を使用したヒストグラム上の密度

  9. 9

    縦軸が頻度(別名カウント)または相対頻度であるヒストグラム上の「密度」曲線オーバーレイ?

  10. 10

    xyシフトで複数のヒストグラムをオーバーレイする方法

  11. 11

    2つのヒストグラムをplotlyexpressでオーバーレイ

  12. 12

    RPlotlyで2つのヒストグラムをオーバーレイする

  13. 13

    1つのプロットに3つのヒストグラムをオーバーレイします

  14. 14

    Rでggplot2を使用してヒストグラムをオーバーレイする

  15. 15

    ヒストグラムのビンのエッジが2つのオーバーレイされたプロットと整列しません

  16. 16

    ggplot2のヒストグラムに正規曲線をオーバーレイします

  17. 17

    Python:Plotlyを使用してヒストグラムをスタックまたはオーバーレイする方法

  18. 18

    確率密度関数を使用して等しいビン幅と等しいビン高さのヒストグラムを作成する方法

  19. 19

    密度ヒストグラムをRに適合するガンマ分布でオーバーレイする方法は?

  20. 20

    ヒストグラム軸を使用した散布図の色による密度

  21. 21

    Pythonでのヒストグラム平滑化を使用したKL(カルバックライブラー)距離

  22. 22

    オーバーレイ付きのPandasDataFrameからの複数のヒストグラム

  23. 23

    オーバーレイヒストグラムを作成する方法をボケ

  24. 24

    対数スケールと線形スケールの関数とヒストグラムを同じキャンバスにプロットします

  25. 25

    PDFをオーバーレイしてヒストグラムをプロットする

  26. 26

    ggplot2のカウントデータを使用してヒストグラムに密度線を追加する

  27. 27

    R:データのヒストグラム上にポアソン分布をオーバーレイする

  28. 28

    rの決定木にヒストグラムプロットをオーバーレイする

  29. 29

    1つのプロットにヒストグラムをオーバーレイ

ホットタグ

アーカイブ