Le 12/04/11 10:57, deqiang sun a écrit :
Hi Dirk,
Thanks very much for your example. From this example I learned how to passing
data back and forth between R and C++.
The example is R code and uses piece of C++ code in side R program.
Well, it's better if you put this example(by only making slight changes to make
R embeded in C++) inside package RInside.
Accessing data by column name is the feature I ( and other people) usually want.
However, is there a way to access the data Frame by row number?
No. You access the column, and then do whatever with each element, as in
Dirk's example.
Regards.
Dsun
On Apr 8, 2011, at 9:56 AM, Dirk Eddelbuettel wrote:
Ok, I now committed a slightly nice example to RcppExamples, a package I
should revamp to contain more examples. In there, we now receive a
data.frame, operate on each column, create a new data and return old and new.
The core of the code (inside the try/catch protection) is
// construct the data.frame object
Rcpp::DataFrame DF = Rcpp::DataFrame(Dsexp);
// and access each column by name
Rcpp::IntegerVector a = DF["a"];
Rcpp::CharacterVector b = DF["b"];
Rcpp::DateVector c = DF["c"];
// do something
a[2] = 42;
b[1] = "foo";
c[0] = c[0] + 7; // move up a week
// create a new data frame
Rcpp::DataFrame NDF =
Rcpp::DataFrame::create(Rcpp::Named("a")=a,
Rcpp::Named("b")=b,
Rcpp::Named("c")=c);
// and return old and new in list
return(Rcpp::List::create(Rcpp::Named("origDataFrame")=DF,
Rcpp::Named("newDataFrame")=NDF));
Dirk
--
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com
--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
http://romain-francois.com
|- http://bit.ly/fhqbRC : Rcpp workshop in Chicago on April 28th
|- http://bit.ly/dFyZGB : Hydraulique au Montpellier Comedie Club
`- http://bit.ly/eVXit9 : Eponyme : 40 minutes stand up
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel