[Rd] how to return a matrix of strings from c to R ?
Alok Jadhav
alok.jadhav at credit-suisse.com
Thu Oct 13 09:20:54 CEST 2011
I am a bit confused about usage of R internal functions. I am able to send a
char vector from C to R but not sure on how to send a vector of strings etc.
My code looks like this.
<code>
SEXP result =
PROTECT(Rf_allocMatrix(STRSXP,s->n_rics,s->n_fields));
int i,j;
for (i=0; i < s->n_rics; i++)
{
for (j=0; j < s->n_fields; j++)
{
std::string text = s->data[j][i];
result[j][i] = R_alloc( text.length(), sizeof(char));
//strcpy(result[j][i], text.c_str());
SET_STRING_ELT(result[j][i],0,Rf_mkChar(text.c_str()));
}
}
// memcpy(result,s->data.ref(),s->n_fields*s->n_rics*sizeof(200));
UNPROTECT(1);
return result;
</code>
Can someone please make me understand this usecase and how to resolve it?
thanks,
Alok
--
View this message in context: http://r.789695.n4.nabble.com/how-to-return-a-matrix-of-strings-from-c-to-R-tp3900763p3900763.html
Sent from the R devel mailing list archive at Nabble.com.
More information about the R-devel
mailing list