-1

R で ecdf() (または Ecdf ) を使用すると、約 500 に等しい数のノットが得られます。 .

ecdf のノット数を調整するにはどうすればよいですか? または、それは可能ですか?

以下はRコードです:

install.packages("Hmisc");
library(Hmisc)

nobs <- 300
g1_true <- 2
eps <- rnorm(nobs, 3.5,2.1)
Z <- rbinom(n=nobs, size=3, p=0.5) 

P <- g1_true*Z + eps 

# marginal density for P
h.p <- density(P,bw="nrd0", kernel="epanechnikov")$y

# get the marginal distribution H(p)
H.p <- ecdf(h.p)
length(knots(H.p))
4

1 に答える 1

0

解決策は、ecdf() 関数の前に呼び出されるdensity() 関数にあります。Density() 関数にはパラメータ n があり、デフォルトでは 512 です。ecdf が密度関数呼び出しの結果に適用される場合、これを質問に適した数値に変更すると、ecdf 関数のノット数が変更されます。

例えば

H <- density(P, n=length(P))$x
H.ecdf <- ecdf(H)
于 2015-05-18T17:00:23.000 に答える