当在R中使用ecdf()(或Ecdf)时,我得到的结数大约等于500.但是,我需要一些结来反映原始数据集中的观察数(在我的例子中) ,300)。
如何调整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))
答案 0 :(得分:0)
解决方案是在ecdf()函数之前调用的density()函数中。 density()函数有一个参数n,默认值为512.如果将ecdf应用于结果,则将其更改为适合于某个问题的数字将改变ecdf函数的结数。密度函数调用。
e.g。
H <- density(P, n=length(P))$x
H.ecdf <- ecdf(H)