2016-05-11 12 views
0

次のコードは、ベクトルVPの累積分布関数(CDF)を計算します。確率密度関数(PDF)を得るためにCDFを使用したいと思います。言い換えれば、私はCDFの導関数を計算する必要があります。どのように私はRでそれを行うことができますか?確率密度を得るために累積分布(CDF)の導関数を計算する

VP <- c(0.36, 0.3, 0.36, 0.47, 0, 0.05, 0.4, 0, 0, 0.15, 0.89, 0.03, 
    0.45, 0.21, 0, 0.18, 0.04, 0.53, 0, 0.68, 0.06, 0.09, 0.58, 0.03, 
    0.23, 0.27, 0, 0.12, 0.12, 0, 0.32, 0.07, 0.04, 0.07, 0.39, 0, 0.25, 
    0.28, 0.42, 0.55, 0.04, 0.07, 0.18, 0.17, 0.06, 0.39, 0.65, 0.15, 
    0.1, 0.32, 0.52, 0.55, 0.71, 0.93, 0, 0.36) 
set.seed(0) 
CF <- round(sapply(1:1000, function(i) sample(VP, length(VP), replace=TRUE)),2) 
Breaks <- c(max(CF,1.0), 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0) 
CDF <- round(sapply(Breaks, function(b) sum(CF<=b)/length(CF)),2) 

答えて

3

diffこのベクトルは、あなたが1つのオリジナルCDFより短いとBreaksベクトル

  • なること離散差分演算子であるので、私はあなたが

    diff(CDF)/diff(Breaks) 
    
    • ノートを探しているのだと思いますあなたのCDFBreaksベクターを逆転させて賢明な結果を得るために何かをしなければならないかもしれません...
  • 0

    あなたはまた、経験累積分布関数の機能を試すことができます。

    CDF <- ecdf(VP) 
    

    とヒストグラム機能は、サンプル密度関数

    PDF <- hist(VP, freq=F) 
    

    を提供することができますがPDF$countsPDF$breaksを見てください。

    関連する問題