Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何不使用if-else在R中迭代地为向量赋值_R - Fatal编程技术网

如何不使用if-else在R中迭代地为向量赋值

如何不使用if-else在R中迭代地为向量赋值,r,R,假设我定义了一个向量a=rep(NA,10); 我想为每次迭代给它的第I个元素一个值 for(i in 1:10){ indexUsed[i] = largestGradient(X, y, indexUsed[is.na(indexUsed)], score) } 如您所见,我希望使用索引[1:(I-1)]来计算第I个元素,但对于第一个元素,我希望有一个NULL或其他特殊值,让我的函数知道它是空的(然后它将在为第一个元素赋值的情况下处理这个问题,这与下面的步骤不同) 我不知道我的写作是一种很

假设我定义了一个向量a=rep(NA,10); 我想为每次迭代给它的第I个元素一个值

for(i in 1:10){
indexUsed[i] = largestGradient(X, y, indexUsed[is.na(indexUsed)], score)
}
如您所见,我希望使用索引[1:(I-1)]来计算第I个元素,但对于第一个元素,我希望有一个NULL或其他特殊值,让我的函数知道它是空的(然后它将在为第一个元素赋值的情况下处理这个问题,这与下面的步骤不同)


我不知道我的写作是一种很好的方法,通常你是怎么做的?

我没有比使用
for
循环更好的方法,但我希望看到其他人的反应。然而,在我看来,您的代码应该是

  indexUsed[i] <- largestGradient(X, y, indexUsed[!is.na(indexUsed)], score)
索引化[i]