R 为什么我的向量在积分等于或大于12的整数时会变成一个列表?

R 为什么我的向量在积分等于或大于12的整数时会变成一个列表?,r,for-loop,vector,integration,R,For Loop,Vector,Integration,为什么我的向量在积分等于或大于12的整数时会变成一个列表?如果您查看?integrate,返回值是一个包含几个不同值的列表。实际估计值存储在结果$value中。因此,如果从结果中提取该值,则会得到预期结果: integrand <- function(x) sqrt(x) for(i in seq(from=1, to=20, length=20)) { VectorY[i] <- i #Creates Vector List 1:20 if(VectorY[i] &

为什么我的向量在积分等于或大于12的整数时会变成一个列表?

如果您查看
?integrate
,返回值是一个包含几个不同值的列表。实际估计值存储在
结果$value
中。因此,如果从结果中提取该值,则会得到预期结果:

integrand <- function(x) sqrt(x)
for(i in seq(from=1, to=20, length=20)) {
    VectorY[i] <- i #Creates Vector List 1:20
    if(VectorY[i] < 12) {
        VectorY[i] <- cos(3*i) # replaces 1:11 with 3cosin
    } else {
        if(VectorY[i] >= 12) {
            VectorY[i] <- integrate(integrand, lower = 0, upper = i)$value
        }
    }
}
被积函数