Rcpp提取数据帧的行
是否有任何简单的语法可以提取RCpp中的数据帧行(仅包含<代码>数值代码>),作为数据帧类的一部分或其他类 目前,我一直在做以下工作:Rcpp提取数据帧的行,r,rcpp,R,Rcpp,是否有任何简单的语法可以提取RCpp中的数据帧行(仅包含数值),作为数据帧类的一部分或其他类 目前,我一直在做以下工作: DataFrame myFunc(DataFrame& x) { ... // Suppose I need to get the 10th row int nCols=x.size(); std::vector<double> y; y.reserve(nCols); for (int j=0; j<nCols;j++)
DataFrame myFunc(DataFrame& x) {
...
// Suppose I need to get the 10th row
int nCols=x.size();
std::vector<double> y;
y.reserve(nCols);
for (int j=0; j<nCols;j++) {
y.push_back((as<vector<double> >(x[j]))[9]); // index in C++ starts at 0
}
...
}
DataFrame myFunc(DataFrame&x){
...
//假设我需要坐第十排
int nCols=x.size();
std::向量y;
y、 储备(nCols);
对于(int j=0;j没有数据帧行这样的东西,它实际上只存在。因此,您所拥有的与您应该做的非常接近。但是,您应该使用NumericVector
而不是std::vector
,它几乎不需要任何费用就可以复制列中的所有数据
更新的伪代码:
DataFrame myFunc(DataFrame& x) {
...
// Suppose I need to get the 10th row
int nCols=x.size();
NumericVector y(nCols);
for (int j=0; j<nCols;j++) {
NumericVector column = x[j] ;
y[i] = column[9] ;
}
...
}
DataFrame myFunc(DataFrame&x){
...
//假设我需要坐第十排
int nCols=x.size();
数值向量y(nCols);
对于(int j=0;j没有数据帧行这样的东西,它实际上只存在。因此,您所拥有的与您应该做的非常接近。但是,您应该使用NumericVector
而不是std::vector
,它几乎不需要任何费用就可以复制列中的所有数据
更新的伪代码:
DataFrame myFunc(DataFrame& x) {
...
// Suppose I need to get the 10th row
int nCols=x.size();
NumericVector y(nCols);
for (int j=0; j<nCols;j++) {
NumericVector column = x[j] ;
y[i] = column[9] ;
}
...
}
DataFrame myFunc(DataFrame&x){
...
//假设我需要坐第十排
int nCols=x.size();
数值向量y(nCols);
对于(int j=0;j)的可能重复。另请参阅的可能重复。另请参阅