for循环中的局部变量?

Dat*_*neR 0 for-loop r

是否可以在for循环中定义本地变量,以便无法在循环外访问它?在下面的简单示例中,我应该怎么做才能index在循环外定义?

input<-rnorm(10)
output<-rep(NA,10)

for(i in 1:10){
     index<-1:i
     output[i]<-sum(input[index])^2
     }
Run Code Online (Sandbox Code Playgroud)

Mat*_*rde 8

假设这只是一个玩具例子,你的真实情况比较复杂,你可以换for循环中调用local,并改变作用在赋值运算符output<<-.

local(
    for(i in 1:10){
         index<-1:i
         output[i] <<- sum(input[index])^2
         }
)
Run Code Online (Sandbox Code Playgroud)