Hi all,

 

We currently faced a problem about how to pass a matrix with different
types to a COM function call thru the RDCOMClient asCOMArray().

 

As we all know that matrix in R can't hold of elements with different
types. So we managed to create a matrix of lists:

 

rates <- matrix(

             list("1y","2y","3y","4y","5y","7y","10y"

                  ,0.23,0.25,0.25,0.19,0.23,0.25,0.28

                 )

           , nrow=7, ncol=2, byrow=FALSE

           )

This preserves the type info, but each element in the matrix rates is
type of list.

 

Then we can add a *case* statement in the function R_create2DArray in
file converters.cpp:

 

VARIANT v;

...

case VECSXP:

          // Only get the first element.

          VariantInit(&v);

          R_convertRObjectToDCOM(VECTOR_ELT(obj, ctr), &v);

          el = (void*)&v;

          break;

 

May I ask if there is another way to work this around? 

If not, may I request to add this new feature to RDCOMClient?

 

 

Thanks,

Milo


PLEASE READ: The information contained in this e-mail is confidential.
If you are not an intended recipient of this e-mail you must not copy,
distribute or take any further action in reliance upon it and you
should delete it and notify the sender.  E-mail is not a secure method
of communication.  Nomura Securities Co. Ltd Shanghai Representative
Office cannot accept responsibility for the accuracy or completeness of
this message or any attachment(s).  This transmission could contain
viruses, be corrupted, destroyed, incomplete, intercepted, lost or
arrive late.  If verification of this e-mail is sought then please
request a hard copy.  Unless otherwise stated any views or opinions
presented are solely those of the author and do not represent those of
Nomura Securities Co. Ltd Shanghai Representative Office.  This e-mail
is intended for information purposes only and is not a solicitation or
offer to buy or sell securities or related financial instruments.


	[[alternative HTML version deleted]]

