我在计算和绘制多重积分时遇到问题。如果你能帮助我,那就太好了。
所以我有这个功能
> f = function(x, mu = 30, s = 12){dnorm(x, mu, s)}
我想在 z(1:100) 到 +Inf 之间整合多个时间,用 x=z 和 y = auc 绘制它:
> auc = Integrate(f, z, Inf)
R 返回:
Warning message:
In if (is.finite(lower)) { :
the condition has length > 1 and only the first element will be used
我已经测试过做一个循环:
while(z < 100){
z = 1
auc = integrate(f,z,Inf)
z = z+1}
也没有用...不知道该怎么办
(我是 R 的新手,所以如果它真的很简单我已经很抱歉了..)
感谢您的帮助:)!
最佳答案
无需手动进行整合。 pnorm
给出从负无穷大到法线密度输入的积分。您可以通过修改 lower.tail 参数来获取上尾部
z <- 1:100
y <- pnorm(z, mean = 30, sd = 12, lower.tail = FALSE)
plot(z, y)
如果您希望集成更复杂的函数,则需要使用 integrate
- 但如果您只是希望找到分布的概率,那么很可能会内置一个函数直接为您进行集成。
关于r - 计算多个积分并绘制它们(使用 R),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274275/