[英]how to do the for-loop for integrate() in R
以下是我的 R 代碼,如果我將“c”分別設置為 10、11、12、13、14,以獲得五個不同的“最終”,我該如何設置集成()函數的循環? 提前謝謝你。
a<-1;b<-2;c<-10
integrand<-function(k)
{
a+b*c*k
}
outcome<-integrate(integrand, lower = 0, upper = 1)
final<-outcome$value+c
您可以通過使用匿名函數和sapply
來解決這個sapply
# create a function with two parameters
aux_function<-function(k,c)
{
a+b*c*k
}
# integrate on x with different c values
outcome<-sapply(10:14, function(c) {integrate(function(x) {aux_function(x,c)}, lower = 0, upper = 1)$value +c})
Onyambu 在下面的評論中找到了更好的答案
outcome<-sapply(10:14, function(c) {integrate(aux_function,lower=0,upper=1,c=c)$value +c})
我想我的答案是對的。 我可以發布我自己的答案嗎?
h<- list()
g<- numeric()
a<-1;b<-2;c<-c(10,11,12,13,14)
for(i in 1:length(c))
{
h[[i]] = function(k){ a+b*c[i]*k}
g[i] = integrate(h[[i]], lower=0, upper=1)$value+c[i]
}
g
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.