for(int i = 0; i < vecs.length-1; ++i)// put response to the end
if(vecs[i] == vresponse){
source.add(source._names[i], source.remove(i));
break;
}
<BUG>for(int i = 0; i < vecs.length-1; ++i) // put response to the end
if(vecs[i].min() == vecs[i].max() || vecs[i].naCnt() > vecs[i].length()*0.2)constantOrNAs.add(i);</BUG>
if(!constantOrNAs.isEmpty()){
int [] cols = new int[constantOrNAs.size()];
for(int i = 0; i < cols.length; ++i)cols[i] = constantOrNAs.get(i);

for(int i = 0; i < vecs.length-1; ++i)// put response to the end
if(vecs[i] == vresponse){
source.add(source._names[i], source.remove(i));
break;
}
for(int i = 0; i < vecs.length-1; ++i) // remove constant cols and cols with too many NAs
if(vecs[i].min() == vecs[i].max() || vecs[i].naCnt() > vecs[i].length()*0.2)constantOrNAs.add(i);
if(!constantOrNAs.isEmpty()){
int [] cols = new int[constantOrNAs.size()];
for(int i = 0; i < cols.length; ++i)cols[i] = constantOrNAs.get(i);
