有没有办法抑制“下标越界”错误?如果我在控制台中声明了一个向量a <- c(1,2,3)
,然后访问a[5]
,我会得到一个回复NA
。为什么我在脚本中执行相同的操作时会出现错误?我故意出门,想要检测NA
编辑:这是我写的一个简单GA的片段。
reproduce <- function(selected, pop_size, p_cross, p_mutation){
children <- matrix()
indexes <- rep(1:ncol(selected), length=pop_size)
for (index in indexes)
{
p1 <- selected[,index]
if(index %% 2 == 1){
if (index+1 > )
p2 <- selected[,index+1]
}
else {
p2 <- selected[,index-1]
}
if (is.na(p2) == TRUE)
p2 <- selected[,1]
child <- crossover(p1, p2, p_cross)
child <- point_mutation(child)
cbind(children, child)
}
return(children)
}