这可能是一个非常简单的问题,但我无法弄清楚问题出在哪里。
我有一个列表传递到一个Rcpp函数,其中该列表的第一个元素是数据框。
如何获取那个数据框?
bar = list(df = data.frame(A = 1:3,B=letters[1:3]),some_other_variable = 2)
foo(bar)
以下是 C++ 代码:
#include <Rcpp.h>
// [[Rcpp::export]]
Rcpp::NumericVector bar(Rcpp::List test){
Rcpp::DataFrame df_test = test["df"];
Rcpp::NumericVector result = df_test["A"];
return result;
}
在这一行代码中DataFrame df_test = test["df"]
,我遇到了以下错误:
错误:从'Rcpp::Vector<19>::NameProxy(也称为'Rcpp::internal::generic_name_proxy<19, Rcpp::PreserveStorage>)转换为'Rcpp::DataFrame(也称为'Rcpp::DataFrame_ImplRcpp::PreserveStorage)不明确。
有人知道我缺少什么吗?谢谢。