IntegerVector
から最も頻繁な値(モードなど)を取得したい。私はRcppの砂糖機能だけを使うことができます。mode関数のためにRcpp :: Stringをテーブルからintに変換する
出力をString
からint
に変換するにはどうすればよいですか?
マイコード:
// [[Rcpp::export]]
String pier(NumericVector x) {
IntegerVector wyniki;
int max;
wyniki = Rcpp::table(x);
max = which_max(wyniki);
CharacterVector wynik_nazwy = wyniki.attr("names");
String wynik = wynik_nazwy[max];
return wynik;
}
/***R
pier(c(3,2,2,2,2,4,4,5))
*/
WYNIK:
> pier(c(3,2,2,2,2,4,4,5))
[1] "2"
それは正しいですが、私は現在受け付けており、数値2
の代わりに、文字列値"2"
を必要とします。あなたが変換し、その後// [[Rcpp::plugins(cpp11)]]
が定義されていなかったので、それがそうであるように見えるC++ 98を、使用している場合はさらに、IはR、
それは_R_に依存しているとして、これは_R_ベースの質問を_is_パッケージ_Rcpp_と_R_データ型を扱います。しかしそれは_not_ _Rcpp11_質問です。 – coatless
Rパートについては、 'as.numeric(pier(c、3,2,2,2,2,4,4,5)))'を試してください。 – G5W