Hola,

Con la versión que trabajé yo hace un par de años no recuerdo haber visto
esas funciones rniPutString ni rniAssign. Pero creo que tu problema es que
no estás asignando el valor leído a un objeto en el entorno R (objeto <-
lectura). Trabajas directamente con el STRSXP que devuelve la función
rniPutString(), lo cual no tengo ni idea de en qué consiste, pero sospecho
que es lo que no funciona.

¿Por qué no pruebas a hacer...?
*
        re.eval("tabla <- read.xls(\"/
home/luisg/Escritorio/Datos/Cefalosporinas(resultados).xls\")");
        re.eval("data1<-as.matrix(tabla)");
*
*        REXP x = re.eval("data1");*

La segunda instrucción no estoy seguro de que sea estrictamente necesaria,
pero supongo que sí para poder tratar correctamente más tarde x como
DoubleArray.

Tampoco sabemos qué tienes en el excel ¿Es una tabla de varias columnas? En
ese caso no podrás convertir el objeto a un array de doubles. ¿Quizás con la
instrucción *re.rniAssign("data1", as, 0);* estabas tomando la columna cero?
En lugar de eso prueba

*        re.eval("tabla <- read.xls(\"/
home/luisg/Escritorio/Datos/Cefalosporinas(resultados).xls\")");
        re.eval("matriz<-as.matrix(tabla)");
        re.eval("data1<-matriz[,0]");
        REXP x = re.eval("data1");*



Un Saludo, Roldán Galán
http://www.tiendadeultramarinos.es


2010/6/21 Marisel Valdes <marango@estudiantes.uci.cu>

> hola  gracias por responder es muy importante para mi resolver este
> problema que tengo , yo estoy trabajando con rengine pero pongo lo siguiente
> y no me da error pero no me pasa los datos al R , si pudieras mostrarme un
> ejemplo de código de como se hace te lo agradecería, mira lo que puse y no
> me sale .  porfa ayudameeee.
> saludos
> espero respuestas
> long as =
> re.rniPutString("read.xls(\"/home/luisg/Escritorio/Datos/Cefalosporinas(resultados).xls\")");
>         re.rniAssign("data1", as, 0);
>         re.eval("data1<-" + as);
>         REXP x = re.eval("data1");
>
>
>  double[] arr = x.asDoubleArray();
>
>         for (int i = 0; i < arr.length; i++) {
>             double d = arr[i];
>             System.out.println(d);
>         }
>
>

	[[alternative HTML version deleted]]

