R中包含乘积项的函数的积分

Posted

技术标签:

【中文标题】R中包含乘积项的函数的积分【英文标题】:Integration of a function in R containing product term 【发布时间】:2020-07-15 11:05:54 【问题描述】:

我需要在 R 的形式中集成一个函数

f<-function(x,a)prod((2-log(a))^x)
a<-c(0.5,0.7,0.9,1.2)
integrate(f,0,1,a=a)

运行上述代码后,出现以下错误。

Error in integrate(f, 0, 1, a = a) :
evaluation of function gave a result of wrong length
In addition: Warning message:
In (2 - log(a))^x :
longer object length is not a multiple of shorter object length

请提供问题的解决方案。

【问题讨论】:

【参考方案1】:

问题是integrate 为向量x 评估f(x,a)

你可以这样做:

a <- c(0.5,0.7,0.9,1.2)

g <- function(x, a)
  sapply(x, function(xi)
    prod((2-log(a))^xi)
  )


integrate(g, 0, 1, a = a)

【讨论】:

非常感谢@Stephen。它解决了我的问题。

以上是关于R中包含乘积项的函数的积分的主要内容,如果未能解决你的问题,请参考以下文章

r 在R中的table()函数中包含NA

分部积分法(函数乘积求导法则推导的)

R语言sum函数:sum函数计算dataframe数据列的加和sum函数计算列表list的加和(数据中包含NA的情况)sum函数计算列表list的加和

R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)randomSequence函数创建不含重复项的随机序列数据集创建随机字符串

R语言使用isna函数查看列表和dataframe中是否包含缺失值将dataframe中数据列中的异常值标注为缺失值NA使用na.omit函数删除dataframe中包含缺失值NA的数据行

c_cpp 找到一个整数数组中包含最大乘积的对