For循环工作得非常好,但一旦我用它做了一个函数,它就突然不工作了';t在R中给出正确的结果

For循环工作得非常好,但一旦我用它做了一个函数,它就突然不工作了';t在R中给出正确的结果,r,function,loops,R,Function,Loops,我有以下for循环,它正是我想要的: for (t in 3:20){ XX <- c(rep(0,22)) for (k in (1:(t-2))){ XX[k] <- (theta^(k-1) * (P[t-k] - P[t-k-1])) } X[t] = (1-theta) * sum(XX) + theta^(t-1) P[t] <- D[t] + (0.7/0.3)

我有以下for循环,它正是我想要的:

for (t in 3:20){
    XX <- c(rep(0,22))

    for (k in (1:(t-2))){

        XX[k] <- (theta^(k-1) * (P[t-k] - P[t-k-1]))
                }
        X[t] = (1-theta)  * sum(XX) + theta^(t-1)
        P[t] <- D[t] + (0.7/0.3) * X[t] - 0.1*3^2*1*(20-t-1 + (1/0.3))  
            } 
for(t在3:20中){

XXChange
Change
首先你应该纠正你的缩进!帮助我们帮助你:什么是示例输入和期望输出?什么是对的与错的?从第一次传递开始,你只在函数中输入θ。p和p是地球仪吗?你还有一个
X[t]=
而不是
X[t]@user10488504非常感谢!这是我需要的答案。首先,你应该纠正你的缩进!帮助我们帮助你:什么是示例输入和期望的输出?什么是对的与错的?从第一次传递开始,你只在函数中输入θ。P和P是globe吗?你还有一个
X[t]=
而不是
X[t]@user10488504非常感谢!这是我需要的答案。你能解释一下什么时候使用每个操作符吗?你能解释一下什么时候使用每个操作符吗?
BGJS <- function(theta){

for (t in 3:20){
    XX <- c(rep(0,22))

    for (k in (1:(t-2))){

        XX[k] <- (theta^(k-1) * (P[t-k] - P[t-k-1]))
                }
        X[t] = (1-theta)  * sum(XX) + theta^(t-1)
        P[t] <- D[t] + (0.7/0.3) * X[t] - 0.1*3^2*1*(20-t-1 + (1/0.3))  
            } 
    }