r - seq_len 在 rcpp 中无法识别
问题描述
我是 Rcpp 的新手,这可能是一个愚蠢的问题,但我似乎无法让 seq_len 在 rcpp 中工作,即使我知道它应该是Rcpp 具有的类似 R 的函数。这是我的代码:
cppFunction("NumericVector foo2(int n){
IntegerVector x = Rcpp::seq_len(n);
return x;
}")
这会导致错误消息:“错误:从类型 'Vector<13>' 的返回值到函数返回类型 'Vector<14>' return x; 没有可行的转换;”
解决方案
当我尝试您的代码时,编译器会抛出一个错误,指出 IntegerVector 无法在输出中转换为 NumericVector。然而,一个简单的改变:
Rcpp::cppFunction("IntegerVector foo2(int n){
IntegerVector x = Rcpp::seq_len(n);
return x;}")
不产生错误,我们得到:
foo2(3)
#> [1] 1 2 3
推荐阅读
- html - 如何在 HTML/CSS 中的图像背景上为内容创建一个白框?
- python - Django 模型:访问表之间的多级链接
- swift - 没有参数的通配符模式(或 _ 参数)
- wordpress - 如何将一个网站的子页面重定向到另一个域?
- git - Bitbucket - 如何设置 webhook 以在某个目录中的文件更改时通知用户?
- c# - 摇 UI 游戏对象?
- java - Java RAM 百分比选项被忽略
- javascript - JS Promises:为什么setTimeout回调后不能设置代码执行?
- playframework - Play Framework:如果在 JSON 解析期间抛出异常,则返回 400 的 BodyParser
- python - 尝试为更大的文件优化快速排序