Я пытаюсь вычислить тип индекса Джини, используя сгенерированный набор данных. Но у меня возникла проблема с последней функцией интегрирования. Если я пытаюсь интегрировать функцию с именем f1, R говорит:
Error in integrate(Q, 0, p) : length(upper) == 1 is not TRUE
Мой код:
# set up parameters b>a>1 and the number of observations n
n <- 1000
a <- 2
b <- 4
# generate x and y
# where x follows beta distribution
# y = 10x+3
x <- rbeta(n,a,b)
y <- 10*x+3
# the starting point of the integration having problem
Q <- function(q) {
quantile(y,q)
}
# integrate the function Q from 0 to p
G <- function(p) {
integrate(Q,0,p)
}
# compute a function
L <- function(p) {
numer <- G(p)$value
dino <- G(1)$value
numer/dino
}
# the part having problem
d <- 3
f1 <- function(p) {
((1-p)^(d-2))*L(p)
}
integrate(f1,0,1) # In this integration, the aforementioned error appears
Я думаю, повторное интегрирование может создать проблему, но я понятия не имею, что Точная проблема. Пожалуйста, помогите мне!