小编Ear*_*own的帖子

在Rcpp中使用(西班牙语)重音词排序地图

虽然我可以通过在std :: sort中指定UTF-8语言环境来成功地对带有重音元音的西班牙语单词进行排序,

// [[Rcpp::export]]
std::vector<std::string> sort_words(std::vector<std::string> x) {
  std::sort(x.begin(), x.end(), std::locale("en_US.UTF-8"));
  return x;
}

/*** R
words <- c("casa", "árbol", "zona", "árbol", "casa", "libro")
sort_words(words)
*/

returns (as expected):
[1] "árbol" "árbol" "casa"  "casa"  "libro" "zona"
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何对地图做同样的事情:

// slightly modified version of tableC on http://adv-r.had.co.nz/Rcpp.html
// [[Rcpp::export]]
std::map<String, int> table_words(CharacterVector x) {
  std::setlocale(LC_ALL, "en_US.UTF-8");
  // std::setlocale(LC_COLLATE, "en_US.UTF-8"); // also tried this instead of previous line
  std::map<String, int> counts;
  int n = x.size();
  for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++ sorting r std rcpp

6
推荐指数
1
解决办法
248
查看次数

标签 统计

c++ ×1

r ×1

rcpp ×1

sorting ×1

std ×1