2017-04-23 7 views
4

密度関数を構築しましたが、新しいデータポイントが選択された間隔(たとえばa = 3、b = 7)に落ちる確率を計算したいと思います。だから、私は探しています:密度関数から確率を計算する

P(a<x<=b) 

いくつかのサンプルデータ:

df<- data.frame(x=c(sample(6:9, 50, replace=TRUE), sample(18:23, 25, replace=TRUE))) 

dens<- density(df$x) 

は、私はすべてのソリューションを聞いて幸せになるでしょうが、好ましくはベースR

はありがとう

答えて

3

濃度を関数として取得し(approxfunを使用)、必要な制限を超えて関数を積分する必要があります。

integrate(approxfun(dens), lower=3, upper=7) 
0.258064 with absolute error < 3.7e-05 

## Consistency check 
integrate(approxfun(dens), lower=0, upper=30) 
0.9996092 with absolute error < 1.8e-05 
+0

ありがとうございました。もう1つ質問:私は '密度'を '密度<密度(df $ x、= 0、= 24)'に制限しようとしています。しかし、私が 'integrate(approxfun(dens)、lower = 0、upper = 24)を吐くとき、'私は期待される "完全な"確率(1)を得ていません。密度関数を制限して、私が得ることを期待するような方法がありますか? – staove7

+1

標準帯域幅が大きすぎる可能性があります。 'dens < - 密度(df $ x、= 0、= 24、adjust = 0.5)を試す ' – G5W

関連する問題