Gracias, Carlos.

Funcionó de perlas.

Solo observé un detalle (quizá sea obvio, no sé): rJython y rPython no
funcionan bien juntas, al menos en un sentido.

Ejemplo:

# primero rPython y luego rJython (con error):
> library(rPython)
Loading required package: RJSONIO
> python.call('len',letters)
[1] 26
> library(rJython)
Loading required package: rJava
Loading required package: rjson

Attaching package: ‘rjson’

The following object(s) are masked from ‘package:RJSONIO’:

    fromJSON, toJSON

> python.call('len',letters)
Error en toJSON(foo.args[which.dict], collapse = " ") :
  el argumento(s) no fue utilizado(s) (collapse = " ")


Por otro lado:

# primero rJython y luego rPython (sin error)
> library(rJython)
Loading required package: rJava
Loading required package: rjson
> rJython<-rJython()
> jython.call(rJython,'len',letters)
[1] 26
> library(rPython)
Loading required package: RJSONIO

Attaching package: ‘RJSONIO’

The following object(s) are masked from ‘package:rjson’:

    fromJSON, toJSON

> python.call('len',letters)
[1] 26
> jython.call(rJython,'len',letters)
[1] 26

¡Muchas gracias!

¡Salud!


2011/12/12 Carlos J. Gil Bellosta <cgb@datanalytics.com>

> Hola, ¿qué tal?
>
> Usando rPython, funciona:
>
> > library( rPython )
> Loading required package: RJSONIO
> > python.exec( "trans_table = ''.join( [chr(i) for i in range(128)] +
> ['?'] * 128 )" )
> > python.get( "trans_table" )
> [1] ""
> > python.exec( "def ascii(s):
> +     if isinstance(s, unicode):
> +         return s.encode('ascii', 'replace')
> +     else:
> +         return s.translate(trans_table)" )
> >
> > python.call( "ascii", "señoría" )
> [1] "se?or?a"
>
> Si estás en Linux, puedes instalarlo como se indica en
>
>
> http://www.datanalytics.com/blog/2011/05/24/se-buscan-alpha-testers-para-rpython/
>
> El problema con rJython es que usa otro mecanismo de conexión con Python:
>
> > ?jython.assign
> >      rJython <- rJython()
> > jython.assign( rJython, "a", "ñ" )
> Error in jython.exec(rJython, jython.command) :
>  'utf-8' codec can't decode byte 0xf1 in position 0: unexpected end of data
>
> que parece que se lleva mal con los encodings.
>
> Usa rPython. Trataré de arreglar el otro, aunque me gustaría poder
> reemplazarlo.
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
>
> El día 11 de diciembre de 2011 15:05, Freddy López
> <freddy.vate01@gmail.com> escribió:
> > Hola don Carlos,
> >
> > Estoy sobre linux mint 11 (Platform: x86_64-pc-linux-gnu (64-bit)), R
> > version 2.14.0, rJython versión: 0.0-2, y Jython 2.5.2,
> (Release_2_5_2:7206,
> > OpenJDK 64-Bit Server VM (Sun Microsystems Inc.) on java1.6.0_22).
> >
> > Si dejé pasar alguna información, por favor no dude en hacérmelo saber.
> >
> > ¡Salud!
> >
> > 2011/12/11 Carlos J. Gil Bellosta <cgb@datanalytics.com>
> >
> >> Hola, ¿qué tal?
> >>
> >> Lo voy a mirar. ¿En qué plataforma estás trabajando?
> >>
> >> Un saludo,
> >>
> >> Carlos J. Gil Bellosta
> >> http://www.datanalytics.com
> >>
> >>
> >> El día 11 de diciembre de 2011 08:14, Freddy López
> >> <freddy.vate01@gmail.com> escribió:
> >> > Hola,
> >> >
> >> > Tengo un problemillo con el encoding de unas palabras y trabajarlas
> en R
> >> > por medio de rJython.
> >> >
> >> > Os explico: cuando quiero utilizar cualquier dato que contenga
> acentos o
> >> > eñes o cualquiera de estos caracteres que no usan los angloparlantes
> >> > obtengo un error. Ejemplo, en R:
> >> >
> >> >> jython.call(rJython,'ascii','señoría')
> >> > Error en jython.exec(rJython, jython.command) :
> >> >  'utf-8' codec can't decode bytes in position 2-5: invalid data
> >> >
> >> > donde la función ascii es tal cual está definida en este enlace:
> >> >
> >> >
> http://stackoverflow.com/questions/1342000/how-to-replace-non-ascii-characters-in-string
> >> > .
> >> >
> >> > Pero si trabajo directamente en Jython (o python) obtengo:
> >> >
> >> >>>> ascii('señoría')
> >> > 'se??or??a'
> >> >
> >> > que es lo que realmente espero.
> >> >
> >> > He probado infructuosamente cambiar el encoding de las palabra (dentro
> >> > de
> >> > R) con iconv() y no he tenido buen resultado.
> >> >
> >> > ¿Alguien habrá tenido alguna experiencia semejante o conocerá la
> >> > solución?
> >> >
> >> > Gracias.
> >> >
> >> > --
> >> > «But Gwindor answered: 'The doom lies in yourself, not in your name.'»
> >> >
> >> > JRR Tolkien
> >> >
> >> >        [[alternative HTML version deleted]]
> >> >
> >> >
> >> > _______________________________________________
> >> > R-help-es mailing list
> >> > R-help-es@r-project.org
> >> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >> >
> >
> >
> >
> >
> > --
> > «But Gwindor answered: 'The doom lies in yourself, not in your name.'»
> >
> > JRR Tolkien
> >
>



-- 
«But Gwindor answered: 'The doom lies in yourself, not in your name.'»

JRR Tolkien

	[[alternative HTML version deleted]]

