В R
я бы использовал это для обновления значений в векторе, соответствующем условному критерию:
a <- rep(seq(1:20),5)
a[a==5] <- 100
Как бы я поступил, используя Rcpp
, если бы у меня был NumericVector a
?
Я новичок в Rcpp
, и в данный момент я могу думать только о том, чтобы перебрать каждое значение в a
.Я использую это:
cppFunction('NumericVector test(NumericVector a){
int b = a.size();
for (int i = 0; i < b; i++) {
if (a[i] == 5) {
a[i] = 100;
}
}
return(a);
}')
Есть ли способ сделать это без цикла или с меньшим количеством строк кода?
Любая помощь высоко ценится.