This was a bug, and is fixed in rev 4262.

Romain

Le 19/02/13 00:37, Søren Højsgaard a écrit :
I want to split a matrix by its rows into a list as:
a<- matrix(letters[1:6],ncol=2)
split(a,row(a))
$`1`
[1] "a" "d"

$`2`
[1] "b" "e"

$`3`
[1] "c" "f"

I do as follows and get a strange result. Any suggestions?

Thanks in advance!
Søren

---------------

src <- '
   CharacterMatrix X(XX_);
   int Nx = X.nrow();
   List ans;
   for (int ii=0; ii<Nx; ii++){
     ans.push_back(X.row(ii));
   }
   return(wrap(ans));
'
split_ <- cxxfunction(signature(XX_="matrix"), plugin="Rcpp", body=src)

split_(a)

[[1]]
[[1]][[1]]
<CHARSXP: "a">

[[1]][[2]]
<CHARSXP: "d">


[[2]]
[[2]][[1]]
<CHARSXP: "b">

[[2]][[2]]
<CHARSXP: "e">


[[3]]
[[3]][[1]]
<CHARSXP: "c">

[[3]][[2]]
<CHARSXP: "f">


--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30

R Graph Gallery: http://gallery.r-enthusiasts.com

blog:            http://romainfrancois.blog.free.fr
|- http://bit.ly/14LJhmm : bibtex 0.3-5
`- http://bit.ly/RE6sYH  : OOP with Rcpp modules

_______________________________________________
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

Reply via email to