1 #include <Rcpp.h> 2 using namespace Rcpp; 3 str_isnumeric(std::string str)4bool str_isnumeric(std::string str){ 5 6 unsigned int input_size = str.size(); 7 8 for(unsigned int i = 0; i < input_size; i++){ 9 if(!isdigit(str[i])){ 10 return false; 11 } 12 } 13 return true; 14 } 15 16 //[[Rcpp::export]] pystr_isnumeric_(CharacterVector strs)17LogicalVector pystr_isnumeric_(CharacterVector strs){ 18 19 unsigned int input_size = strs.size(); 20 LogicalVector output(input_size); 21 22 for(unsigned int i = 0; i < input_size; i++){ 23 if(strs[i] == NA_STRING){ 24 output[i] = NA_LOGICAL; 25 } else { 26 output[i] = str_isnumeric(Rcpp::as<std::string>(strs[i])); 27 } 28 } 29 30 return output; 31 } 32