小编que*_*rty的帖子

在R中集成/积分:找到捕获量

好吧,所以这让我难以忍受超过3天,在离解决方案还有一步之后,我会在这里试试运气.

在过去,我已经为特定的一个已排序数据集编写了一些代码,它是这样的:

n <- length(data)
maxobs <- max(data)
minobs <- min(data)
FG <- function(m=NULL, h = NULL){
    n<- length(data) #Number of observations
    if (m<minobs){FG = 0} else { 
        if (m >maxobs){FG = 1} else {
                    FG = sum(pnorm((m - data)/h)-pnorm((minobs-data)/h))/sum(pnorm((maxobs - data)/h)-pnorm((minobs-data)/h))   
    }}
    return(FG)
}

f<- function(m,h){
    f<- FG(m,h)^n
    return(f)
}

##Integration
max <- NULL
delta<- function(h,max=maxobs){
    delta <- integrate(Vectorize(f), minobs, max, h)$value
    return (delta)
}
Run Code Online (Sandbox Code Playgroud)

它完美地工作.例如,如果选择数据:= c(1,2,3,4,5),则获得正确的结果

> delta(0.1, maxobs)
[1] 0.6300001
Run Code Online (Sandbox Code Playgroud)

但是,现在我正在尝试为每个已排序的数据集推广它,所以我做的是(要清楚:数据集x 执行所有这些函数之前已经排序)

FG <- …
Run Code Online (Sandbox Code Playgroud)

r function integral

5
推荐指数
1
解决办法
225
查看次数

标签 统计

function ×1

integral ×1

r ×1