假设我有一个向量定义a = rep(NA,10); 我想给每个迭代的第i个元素赋值。
for(i in 1:10){
indexUsed[i] = largestGradient(X, y, indexUsed[is.na(indexUsed)], score)
}
如你所见,我想使用index [1:(i-1)]来计算第i个元素,但对于第一个元素,我想要一个NULL或者其他什么特殊值,让我的函数知道它是空的(然后它将处理这种情况,以便为第一个元素赋值,这与下一步不同)。
我不知道我的写作是一种很好的方式,通常你是怎么做的?
答案 0 :(得分:0)
我没有比使用for
循环更好的方法,但我很乐意看到其他人的回复。但是,在我看来,您的代码应该是
indexUsed[i] <- largestGradient(X, y, indexUsed[!is.na(indexUsed)], score)
对于i=1
,您的indexUsed[!is.na(indexUsed)]
将为空,并且应该是您在函数中的基础案例。对于每个其他迭代,它将检索元素1
到i-1
。