【发布时间】:2020-12-04 01:05:12
【问题描述】:
我尝试在 R 中计算以下方程的值。
我有每个对应的 F_x、F_{x+1}...的数据集和值...
但是,由于Q 和s 的值太多,我正在考虑在循环中编写一个循环。有点困惑。 Q 的循环似乎与 s 的循环冲突
但是如果我如下编写循环,似乎我需要手动计算 Q 100 次才能得到所有答案。另外我的循环似乎是错误的......我该如何解决这个问题?非常感谢
Y <- function(x,s, Q){
n <- length(s-x)-1
Q <- c(1:100)
for(s in seq(1:n)){
Y[s] <- sum(s*Q[s]*cumprod(Fx[1:s]))
}
return(Y)
}
【问题讨论】:
-
几个具有预期答案的示例将帮助我们验证我们的解决方案。我确信有比 3 个嵌套的
for循环更好的答案。 -
另外,您在循环中不断覆盖
Y。你只对它的最后一个值感兴趣,还是你想要介于两者之间的所有值?最重要的是,我认为您需要cumprod(Fx[1:s])而不是cumprod(Fx[s]),因为您想将所有值从 Fx1 乘以 Fxs。