【发布时间】:2020-12-04 10:35:49
【问题描述】:
我尝试从函数中计算值:
但是,即使它可以运行,但是当我将此函数应用于我的数据时,会出现一个错误:“错误:未使用的参数 (.)”可能是因为 y[q,k] <- ((3+0.01*(q-1))^(-(1:k)))*sum(cumprod(px[1:k])) 错误?但它看起来像我想要的方程。任何人都知道我该如何解决这个问题?提前致谢。
Y <- function(x){
k <- 50-x
Cset <- seq(0,0.2,0.01)
y <- matrix(length(Cset)*k,ncol = k)
for(C in seq_along(Cset)){
for(s in 1:k){
y[C,s] <- sum((3+C)^(-s)*cumprod(data$Bx[1:s]))
}
}
y
}
Y(x=30)
错误显示
Error in `[<-`(`*tmp*`, C, s, value = sum((3 + C)^(-s) * cumprod(data$px[1:s]))) :
subscript out of bounds
【问题讨论】:
-
试试
Y(x = 30) -
感谢您的回复。但是,并非如此,我的循环本身存在一些错误。 :(
-
我对@987654327@ 也有误。你应该检查一下!
-
是的,应该是Bx,但还是不行。
-
在函数范围内变量名有很多冲突的地方,你应该避免这种情况