私はRの初心者で、最近グラフィックスを始めました。点を通る曲線が滑らかで、Rの起点を含む
経験豊富な累積分布関数(ユーザ生成、標準ecdf()関数を使用しない)をプログラムし、プロットを生成することができました。しかし、プロットはそうではありません、それには2つの問題があり、私はそれらを解決する方法についてはわかりません(私は「研究」を行っていますが、解決策を見いだせませんでした)。
これは私のコードです:
set.seed(1)
n = 50
x = rpois(n, 2.2)
cdf = function(x,n)
{
v=c()
for(z in 1:max(x))
{
a = length(x[x<=z])/n
v = c(v, a)
}
plot(v,type="l", main="empirical cumulative distribution function", xlab="x", ylab="cumulative probability", xlim=c(0,6), ylim=c(0,1.0))
}
cdf(x, n)
このプロットには2つの問題があります。
ラインが直線であるが、それはすべての点を滑らかな曲線でなければなりませんが。
原点は含まれていません(現在の曲線はx = 1から始まります)。
どのようにこれらの問題を洗練された方法で解決できますか?
はおそらく 'ecdf'参照してください? – Axeman
いいえ、私は標準の組み込み関数ecdf()を使いたくありません。私の関数への提案(できればplot()関数への追加)は大歓迎です。 – Anna
'v = c()'を 'v = 0'に置き換え、プロットコールを' plot(0:max(x)、v、type = "l"、.......) 'に変更します。滑らかな線のためには、余分な作業をする必要があります。例えば '' loess'を見てみましょう。 – Axeman