问题是在一些离散值(即(F(x+1) - F(x)))之间的某参数连续分布下估计概率密度面积。因此,在R中快速完成它的方法如下(以pchisq为例):
size <- 20
vector<-0; sequence<-seq(0, size, by=1)
for (i in 1:length(sequence)) vector[i] <- pchisq(min[i+1], 5) - pchisq(min[i], 5)
vector <- vector[-length(vector)]
但是,如果要更改分布,则需要手动更改分布的名称,参数的值和参数的数量。
怎么可能自动完成呢?比方说,它可能看起来像:
func <- function(size, "distribution", "vectors of theta") {
vector<-0; sequence<-seq(0, size, by=1)
for (i in 1:length(min)) sequence[i] <- "distribution"(min[i+1], "theta[1]", "theta[ n]") - pchisq(min[i], "theta[1]", "theta[n]")
提前感谢!
使用
dist = pchisq
或任何你想要的分布函数,然后在你的第一个代码块中使用dist而不是特定的分布函数