Dear All,
I tried to use NumericVector in class declaration, Eclipse could compile
the code, but could not run it (something to do with the R.dll). I tried
replacing NumericVector with vector<double> and it worked with no
problem. I want to use NumericVector so that I could use Rcpp sugar to
compute the mean and variance. Could it possibly I get it wrong that sugar
only take NumericVector?
I have configured Eclipse and I could ran the codes in the example folder
perfectly. I've attached simplified version of my code. Any hints please?
I've been stuck on this.
Thanks!
Qing
#include<Rcpp.h>
using namespace Rcpp;
class Stock{
private:
NumericVector prices;
NumericVector returns;
void calcReturns();
public:
void loadPricesFromFile(const char *symbol);
NumericVector getReturns(unsigned);
NumericVector getPrices(unsigned);
double getMeanReturn(unsigned);
double getReturnStdDev(unsigned);
void plotHistory(unsigned);
};
void Stock::calcReturns(){
for (int i=0;i<prices.size()-1;i++){
returns.push_back(log(prices[i]/prices[i+1]));
}
};
NumericVector Stock::getPrices(unsigned n){
NumericVector vec(n);
for (int i=0;i<vec.size();i++){
vec.push_back(prices[i]);
}
return vec;
}
NumericVector Stock::getReturns(unsigned n){
NumericVector vec(n);
for (int i=0;i<vec.size();i++){
vec.push_back(returns[i]);
}
return vec;
}
double Stock::getMeanReturn(unsigned n){
NumericVector vec(n);
vec=getReturns(n);
double m=mean(vec);
return m;
}
double Stock::getReturnStdDev(unsigned n){
NumericVector vec(n);
vec=getReturns(n);
double m=var(vec);
return m;
}
void Stock::plotHistory(unsigned n){
}
void Stock::loadPricesFromFile(const char *symbol){
for (int i=0;i<1000;i++){
prices.push_back(1000-i);
}
calcReturns();
}
int main(int argc,char *argv[]){
Stock stock;
stock.loadPricesFromFile("MSFT");
double m,sd;
unsigned num;
std::cout<<"Please enter the number for computation:";
std::cin>>num;
m=stock.getMeanReturn(num);
sd=stock.getReturnStdDev(num);
std::cout<<m<<"\t"<<sd<<std::endl;
return 0;
}
_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel