Запись цикла и интегральной функции

Alina спросил: 12 мая 2018 в 03:44 в: r

Я хотел бы вычислить интеграл из двух столбцов в моей базе данных, когда интеграл основан на функции; 1 / x, мне нужно, чтобы я написал цикл. Можете ли вы помочь в написании цикла и функции интеграции?

Это примерный кадр данных;

upper_concentration<-c(1:200, 1)
lower_concentration<-upper_concentration*0.9
df = data.frame(upper_concentration,lower_concentration)for (i in 1:(length(df))){
   integral <- function (x) {1/df$upper_concentration}
   result <- integrate(integral, lower = df$upper_concentration, upper =upper_concentration*0.9)
}

1 ответ

Dave2e ответил: 12 мая 2018 в 04:03

Встроенная функция integrate выполняет интеграл для полного диапазона.

lower <- 1
upper <- 200
integral <- function (x) {1/x}result <- integrate(integral, lower, upper)

Нет, если вы хотите, чтобы интеграл для каждой части кадра данных то необходим цикл.

result<-vector(list, length=nrow(df))  #initialize an empty vector
integral <- function (x) {1/x}for (i in 1:(nrow(df))){
    result[[i]] <- integrate(integral, df$lower_concentration[i], df$upper_concentration[i])
 }
Dave2e ответил: 12 мая 2018 в 04:04
Да, спасибо за уловку
A. Suliman ответил: 12 мая 2018 в 04:02
Я предлагаю result <- vector("list", nrow(df))