2017-01-15 24 views
0

私はrで新しいです。私はあなたにすべての助けを求めるでしょう。 - C(0.00、1.08、2.08、3.08、4.08、4.64、4.68) rのグラフに基づいてxとyの値を取得

  • PROB < - C(0.000、X <

    • :私は、x(値)およびPROB(それの確率)以下のように持っています0.600,0.370,0.010,0.006,0.006,0.006)

    私の目的は、これらの値に基づいて推定分布グラフを作成することです。これまでのところ、私はそれを作るためにqplot(x,prob,geom=c("point", "smooth"),span=0.55)を使用し、それがここで示されます https://i.stack.imgur.com/aVgNk.png

    私の質問です:

    1. qplot使用せずに、その のような素敵な分布をcontructする他の方法はありますか?
    2. すべてのx値(0.5,1,1.2など)とそれに対応するprob値を取得する必要があります。私はそれをすることができますか?

    私はしばらく検索してきましたが、運がありません。

    ありがとうございました

  • +0

    あなたはどこから来るものを配布estiamteしたいですか?統計は非常に良くないかもしれませんが、ごくわずかな観測しかありません。 –

    +0

    はい1月....私はそのような限られたデータが与えられている分布が何であるか知りたいです。しかし、私はそれを行う方法を知らない?それとも、データが限られていることを考えれば可能でしょうか? – qillbel

    答えて

    0

    確率分布を指定すると、観測値を得ることができます。 Have a look here。これはあなたを助け、MASSパッケージを通して歩きます。

    ..ニッカーグラフ?私はggplotが最高だと思っています(grapghはggplot2のものです)。あなたがexacatlyしたい場合は、青いgeom_lineとそれの上に同じマッピングでgeom_pointを追加したい:)チュートリアルでalookを持ってみてください、またはそれであなたを助けることができます。

    1

    xの値に対してprobの値を予測する場合は、これを行う方法の1つです。注意ここではloess予測関数を使用しています(使用したggplotsmooth geomのデフォルトだと考えているからです)。これはあなたには適しているかもしれません。

    x <- c(0.00, 1.08, 2.08, 3.08, 4.08, 4.64, 4.68) 
    prob <- c(0.000, 0.600, 0.370, 0.010, 0.006, 0.006, 0.006) 
    

    まず1列とデータフレームを作る、私は予測の束を作るために、その列にデータポイントの全体の多くを入れます。

    df <- data.frame(datapoints = seq.int(0, max(x), 0.1)) 
    

    次に、予測列を作成します。私は、関数を使用して、loessスムージングされた関数を渡します。 loess機能をご入力データを与えている、とpredictdf$datapoints

    df$predicted <- predict(loess(prob ~ x, span = 0.55), df$datapoints) 
    

    の値に対して予測するloessから機能を使用するように要求されたここで、出力は次のようになります。物事のプロット側で

    > head(df) 
        datapoints predicted 
    1  0.0 0.01971800 
    2  0.1 0.09229939 
    3  0.2 0.15914675 
    4  0.3 0.22037484 
    5  0.4 0.27609841 
    6  0.5 0.32643223 
    

    ggplot2は行くには良い方法ですので、私は離れて、ここqplotから敬遠する理由は表示されません。ggplot2からより多くの柔軟性を得るためには、@ Jan Silaが別の答えで述べたように、関数をより明示的にコーディングすることができます。ここでは、より一般的な(そして、より柔軟な)ggplot2年代との双方向の構文です:

    plot <- ggplot(data = df, 
           mapping = aes(x = datapoints, 
               y = predicted)) + 
        geom_point() + 
        geom_smooth(span = 0.55) 
    plot 
    
    +0

    ありがとうrosscova ...グラフがいいね。しかし、私はそれの後ろにある説明が何か疑問に思っていましたか?コードが別のディストリビューションに適合しようとしていますか? – qillbel

    +0

    コードは、黄土スムージング法を使用して予測関数を作成し、その関数を使用して系列内の欠損値を「予測」しています。 – rosscova

    +0

    ただし、予測されるprobの累積確率が1を超えるのはなぜですか? 私は、max(cumsum(df $ prob)/ 100)し、その最大値を1以上にしました。 – qillbel

    関連する問題