6

データの不均一性を調べている時系列があり、これのいくつかの重要な側面を一部のデータ アナリストに説明したいと考えています。KDE プロットを重ねた密度ヒストグラムがあります (両方のプロットを明確に表示するため)。ただし、元のデータはカウントであり、カウント値をヒストグラム バーの上にラベルとして配置したいと考えています。

ここにいくつかのコードがあります:

$tix_hist <- ggplot(tix, aes(x=Tix_Cnt)) 
             + geom_histogram(aes(y = ..density..), colour="black", fill="orange", binwidth=50) 
             + xlab("Bin") + ylab("Density") + geom_density(aes(y = ..density..),fill=NA, colour="blue") 
             + scale_x_continuous(breaks=seq(1,1700,by=100))

    tix_hist + opts(
       title = "Ticket Density To-Date",
       plot.title = theme_text(face="bold", size=18), 
       axis.title.x = theme_text(face="bold", size=16),
       axis.title.y = theme_text(face="bold", size=14, angle=90),
       axis.text.x = theme_text(face="bold", size=14),
       axis.text.y = theme_text(face="bold", size=14)
           )

KDE 帯域幅などを使用してカウント値を外挿することを考えました。ggplot 頻度ヒストグラムの数値出力をデータ フレーム化し、これを「レイヤー」として追加することは可能ですか。私はまだ layer() 関数に精通していませんが、アイデアは役に立ちます。どうもありがとう!

4

1 に答える 1

4

y 軸にbin_count数値を表示すると同時に、このヒストグラムに密度曲線を追加する場合は、

最初に使用して値geom_histogram()を記録することもできbinwidthます! (これは非常に重要です!)、次に のレイヤーを追加してgeom_density()、フィッティング カーブを表示します。

値の選択方法がわからない場合は、次のbinwidthように計算できます。

my_binwidth = (max(Tix_Cnt)-min(Tix_Cnt))/30;

(これはまさにgeom_histogramデフォルトで行うことです。)

コードを以下に示します。

(binwith今計算した値が 0.001 だとします)

tix_hist <- ggplot(tix, aes(x=Tix_Cnt)) ;

tix_hist<- tix_hist + geom_histogram(aes(y=..count..),colour="blue",fill="white",binwidth=0.001);

tix_hist<- tix_hist + geom_density(aes(y=0.001*..count..),alpha=0.2,fill="#FF6666",adjust=4);

print(tix_hist);
于 2012-08-23T15:25:40.030 に答える