na.locf e inverse.rle em Rcpp
Eu queria verificar se existe algum truque pré-existente parana.locf
(porzoo
pacote),rle
einverse.rle
noRCpp
?
Eu escrevi um loop para implementar, por exemplo Eu fiz a implementação dena.locf(x, na.rm=FALSE, fromLast=FALSE)
do seguinte modo:
#include <Rcpp.h>
using namespace Rcpp;
//[[Rcpp::export]]
NumericVector naLocf(NumericVector x) {
int n=x.size();
for (int i=1;i<n;i++) {
if (R_IsNA(x[i]) & !R_IsNA(x[i-1])) {
x[i]=x[i-1];
}
}
return x;
}
Eu só estava pensando que, como essas são funções básicas, alguém já pode tê-las implementado noRCpp
de uma maneira melhor (pode evitar o loop) OU de uma maneira mais rápida?