我想创建一个5个整数的随机向量,范围例如:1:10.我只能使用基本的Rcpp.(没有C库)
目前我有:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector test(){
NumericVector z(5);
for (int i=0; i<5 ++i)
z[i] = R::runif(1,10);
return z;
}
/***R
test()
*/
Run Code Online (Sandbox Code Playgroud)
但:
它不是整数
它不是唯一的.
我想从 中获取最常见的值(例如模式)IntegerVector。我只能使用 Rcpp 糖函数。
如何将输出从 转换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))
*/
Run Code Online (Sandbox Code Playgroud)
维尼克:
> pier(c(3,2,2,2,2,4,4,5))
[1] "2"
Run Code Online (Sandbox Code Playgroud)
这是正确的,但我需要数字值2而不是"2"我目前收到的字符串值。此外,我需要在 Rcpp 中转换它,而不是在将函数导出到 R 之后,