2016-03-30 19 views
0

私は切り捨てられた分布、特に切り捨てられたパレート分布に関するいくつかの研究をしています。これは既知の密度関数と確率関数を持っているので、分位関数を設計することができ、それによって「数を生成する」関数を生成することができます。Rの分布と密度R

しかし、私はこれらの機能を持っているので、dtp(x,lower,upper,alpha)が私の密度関数であるとしましょう、実際に密度をプロットするにはどうすればいいですか?私は、カーネル推定を使用するdensity()のようなコマンドが存在することを知っていますが、密度関数そのものとその分布に従う乱数を使って密度関数をプロットできるはずですか?

+0

「curve(dtp(x、lower、upper、alpha))」と似ているかもしれません。もしそうなら、私たちはあなたの質問をこれに対して欺くものとしてクローズすることができます:http://stackoverflow.com/q/26091323 – Frank

+0

@フランク、すぐにチェックします! – Riley

+1

詐欺でうまく見つけました。密度*機能をプロットすることについて特別なことはありません。 – Gregor

答えて

1

プロットする標準的な方法は、xの値とyの値をプロットすることです。私がいるかどうかわかりません

x = seq(0, 10, length.out = 100) 
y = dtp(x = x) 
plot(x, y, type = "l") 

注:あなたは、あなたがする必要があるすべてはプロットし、あなたの関数にそれらを与える、のようなものするためにx値を選ぶことを意味yの値にxの値を変換する関数を、持っていますあなたがlowerupperalphaまたはあなたがそれらを指定する必要がある場合は、適切なデフォルト値を持っている場合は、この等

また、基本プロットのcurveのようないくつかの機能は、単に機能と取る、あなたの密度のための合理的なドメインです追加の引数を渡すことができます。

curve(dtp, from = 0, to = 10, n = 101) 
curve(dtp, from = 0, to = 10, n = 101, alpha = 0.2) # specifying alpha 

あなたがggplotを好む場合は、stat_functionはあなたのための機能です。

library(ggplot2) 
ggplot(data.frame(x = c(0, 10), aes(x = x)) + 
    stat_function(fun = dtp) 

ggplot(data.frame(x = c(0, 10), aes(x = x)) + 
    stat_function(fun = dtp, args = list(alpha = 0.2)) 
    # passing alpha to dtp via args