我想從IntegerVector
中獲取最頻繁的值(例如模式)。我只能使用Rcpp糖的功能。將表中的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和不導出功能R後,
@ G5W,因爲它依賴於_R_這_is_基於_R_個問題打包_Rcpp_並處理_R_數據類型。然而,這不是一個_Rcpp11_問題。 – coatless
對於R部分,試試as.numeric(pier(c(3,2,2,2,2,4,4,5)))' – G5W