是否可以在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)
假设这只是一个玩具例子,你的真实情况比较复杂,你可以换for循环中调用local,并改变作用在赋值运算符output来<<-.
local(
for(i in 1:10){
index<-1:i
output[i] <<- sum(input[index])^2
}
)
Run Code Online (Sandbox Code Playgroud)