次のように作成された密度オブジェクト dd があります。
x1 <- rnorm(1000)
x2 <- rnorm(1000, 3, 2)
x <- rbind(x1, x2)
dd <- density(x)
plot(dd)
これは、この非常に非ガウス分布を生成します。
代替テキスト http://www.cerebralmastication.com/wp-content/uploads/2009/09/nongaus.png
最終的には、rnorm が正規分布から逸脱するのと同様に、この分布からランダムな逸脱を取得したいと考えています。
これをクラックしようとしている方法は、カーネルの CDF を取得し、累積確率 (逆 CDF) を渡した場合に変量を教えてもらうことです。そうすれば、一様確率変量のベクトルを密度からのドローに変えることができます。
私がやろうとしていることは、他の人が私より前にやった基本的なことであるように思えます. これを行う簡単な方法または簡単な機能はありますか? 車輪の再発明は嫌いです。
FWIWこの R ヘルプ記事を見つけましたが、彼らが何をしているのか理解できず、最終出力は私が求めているものを生成していないようです。しかし、それは私が理解していない道に沿った一歩かもしれません.
suppdists パッケージの Johnson ディストリビューションを使用することを検討しましたが、Johnson は、私のデータが持つ素晴らしいバイモーダル ハンプを与えてくれません。