Как интегрировать функцию со значением вставки? - PullRequest
0 голосов
/ 26 сентября 2019

Я хотел бы интегрировать dnorm (X, theta, 10), чье значение X - это данные, которые я буду вставлять, а theta - переменная.У меня есть 100 данных, и я хочу суммировать интегралы dnorm (data [i], theta, 10) от одного до ста.Поэтому я объявил функцию, как показано ниже.

integrand <- function(theta, X){
  f2 <- dnorm(X, mean = theta, sd = 10)
  return(f2)
}

sum = 0
for(i in 1 : 100){
term = integrate(integrand(X = data[i]), -Inf, Inf)
sum = sum + term
}

Но ошибка вышла

Ошибка в dnorm (тета, mean = theta_0, sd = sd_0): аргумент "тета" отсутствует, без значения по умолчанию

Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете попробовать что-то вроде:

data <- runif(100)

integrand <- function(theta, X) dnorm(X, mean = theta, sd = 10)

ss <- 0 
for(i in 1:100){
     ss  <-  ss + integrate(f=integrand, lower=-Inf, upper=Inf,
                            X=data[i])$value
}

Но я не думаю, что интеграция дистрибутива от -Inf до Inf очень интересна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...