Discussion:
[R-es] Matlab to R
unknown
2009-12-09 09:25:13 UTC
Permalink
Hola,

Tengo algunos ejemplos de analisis estadisticos que han sido implementados
en Matlab y me gustaria traducirlos a R.

Existe algun traductor de "Matlab to R" o tengo que hacerlo manualmente?

Gracias y saludos,

Pablo
unknown
2009-12-09 09:48:32 UTC
Permalink
Hola,

quizás una solución sería llamar a MatLab desde R o viceversa.

MatLab llama a R: con la toolbox R link
http://www.mathworks.com/matlabcentral/fileexchange/5051
Deberás instalar también un puente D(COM) al estilo del que usan en RExcel
http://rcom.univie.ac.at/

R llama a MatLab:
Con rcom en la misma página de antes.

Saludos
Post by unknown
Hola,
Tengo algunos ejemplos de analisis estadisticos que han sido implementados
en Matlab y me gustaria traducirlos a R.
Existe algun traductor de "Matlab to R" o tengo que hacerlo manualmente?
Gracias y saludos,
Pablo
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
jm~

_______________________________

J. Miguel Marin

http://www.est.uc3m.es/jmmarin

Dep. of Statistics
University Carlos III of Madrid
Spain (E.U.)
unknown
2009-12-09 10:16:59 UTC
Permalink
Gracias por la alternativa, pero entiendo que para esto necesito Matlab y no
lo tengo.

Ademas, quiero tener el codigo traducido asi puedo modificar los ejemplos.

Gracias de todos modos.

Pablo


----- Original Message -----
From: "J. Miguel Marin" <jmmarin en est-econ.uc3m.es>
To: <r-help-es en r-project.org>
Sent: Wednesday, December 09, 2009 10:48 AM
Subject: Re: [R-es] Matlab to R


Hola,

quizás una solución sería llamar a MatLab desde R o viceversa.

MatLab llama a R: con la toolbox R link
http://www.mathworks.com/matlabcentral/fileexchange/5051
Deberás instalar también un puente D(COM) al estilo del que usan en RExcel
http://rcom.univie.ac.at/

R llama a MatLab:
Con rcom en la misma página de antes.

Saludos
Post by unknown
Hola,
Tengo algunos ejemplos de analisis estadisticos que han sido implementados
en Matlab y me gustaria traducirlos a R.
Existe algun traductor de "Matlab to R" o tengo que hacerlo manualmente?
Gracias y saludos,
Pablo
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
jm~

_______________________________

J. Miguel Marin

http://www.est.uc3m.es/jmmarin

Dep. of Statistics
University Carlos III of Madrid
Spain (E.U.)
unknown
2009-12-09 11:31:31 UTC
Permalink
No creo que vayas a tener suerte. Habrá que cambiar el código a mano.

Además, Matlab y R siguen paradigmas de programación distintos. Aunque
en Matlab muchas operaciones pueden vectorizarse, en la práctica,
ocurre poco.

El intérprete de Matlab es bastante más eficiente que el de R (y,
además, es posible traducir de matlab a C) por lo que se tiende a
vectorizar menos.

(A todo esto, la vía de volcar a C, compilar el C y enlazarlo con R,
estoy casi seguro, supondría una violación de licencia si el paquete
resultante quisiera ser distribuido como GPL).

Otra idea sería utilizar Octave y ROctave
(http://www.omegahat.org/ROctave/). Octave debería ser capaz de correr
código de Matlab.

¿Qué es lo que existe en Matlab y no en R?

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com
unknown
2009-12-09 11:47:07 UTC
Permalink
Existe en CRAN un paquete con el nombre matlab, que contiene
implementaciones en R
de varios funciones usuales de matlab, así que ayuda en la traducción.

Kjetil
Post by unknown
No creo que vayas a tener suerte. Habrá que cambiar el código a mano.
Además, Matlab y R siguen paradigmas de programación distintos. Aunque
en Matlab muchas operaciones pueden vectorizarse, en la práctica,
ocurre poco.
El intérprete de Matlab es bastante más eficiente que el de R (y,
además, es posible traducir de matlab a C) por lo que se tiende a
vectorizar menos.
(A todo esto, la vía de volcar a C, compilar el C y enlazarlo con R,
estoy casi seguro, supondría una violación de licencia si el paquete
resultante quisiera ser distribuido como GPL).
Otra idea sería utilizar Octave y ROctave
(http://www.omegahat.org/ROctave/). Octave debería ser capaz de correr
código de Matlab.
¿Qué es lo que existe en Matlab y no en R?
Un saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
"... an entire human genome would fit on a music CD."

--- www.thinkgene.com
unknown
2009-12-09 12:04:01 UTC
Permalink
Curiosamente, esta misma discusión la están teniendo en R-sig-finance
ahora mismo. El hilo se llama

"[R-SIG-Finance] disaggregation, R and Matlab"

Aún no está disponible en google pero imagino que quedará archivada en
algún sitio...

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com
unknown
2009-12-09 12:02:43 UTC
Permalink
Parece que usar Octave y ROctave puede ser util para correr
los programs. Pero para traducir tendre que tener tiempo.

Voy a ver lo que sugiere Kjetil sobre el paquete "matlab".

Bueno, muchas gracias a todos!

Pablo.



----- Original Message -----
From: "Carlos J. Gil Bellosta " <cgb en datanalytics.com>
To: "Pablo Emilio Verde" <PabloEmilio.Verde en uni-duesseldorf.de>
Cc: <r-help-es en r-project.org>
Sent: Wednesday, December 09, 2009 12:31 PM
Subject: Re: [R-es] Matlab to R


No creo que vayas a tener suerte. Habrá que cambiar el código a mano.

Además, Matlab y R siguen paradigmas de programación distintos. Aunque
en Matlab muchas operaciones pueden vectorizarse, en la práctica,
ocurre poco.

El intérprete de Matlab es bastante más eficiente que el de R (y,
además, es posible traducir de matlab a C) por lo que se tiende a
vectorizar menos.

(A todo esto, la vía de volcar a C, compilar el C y enlazarlo con R,
estoy casi seguro, supondría una violación de licencia si el paquete
resultante quisiera ser distribuido como GPL).

Otra idea sería utilizar Octave y ROctave
(http://www.omegahat.org/ROctave/). Octave debería ser capaz de correr
código de Matlab.

¿Qué es lo que existe en Matlab y no en R?

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com
unknown
2009-12-09 11:09:45 UTC
Permalink
Hola Pablo.

La manera más directa de "conectar" Matlab y R es a través del package R.matlab
Te pongo aquí un pequeño ejemplo para que veas como se haría.... Lo que construiremos será una conexión cliente/servidor entre R (cliente) y Matlab (server).

# Para ello cargamos la librería
library(R.matlab)
# Establecemos la conexión entre los dos programas
Matlab$startserver()
# Asignamos el host a una variable
matlab<-Matlab(host="localhost")
# usamos la función "evaluate" para ejecutar código (de ejmplo) en Matlab
evaluate(matlab,"u=rand(1,1000);")
# usamos la función "getVariable" para traernos a R el resultado
u<-getVariable(matlab,"u")

... Vaya.... Escribiendo este correo acabo de leer otro tuyo en el que cuentas que no tienes Matlab (supongo que sí tendrás Octave, de todas formas....). Bueno, pues olvida todo esto (que no borro porque es una pena... Ya que me he pasado el trabajo de escribirlo...).
:-)

Un comentario al margen; dentro de ese paquete puedes usar las funciones readMAT() y writeMAT() sin tener Matlab (aunque me temo que tu menor problema es leer ficheros Matlab de datos).

Por lo que cuentas, creo que debieras explorar la posibilidad de migrar el código de MatLab a R con algún paso intermedio (Fortran, por ejemplo).... Me suena que desde Octave se usa la función mkoctfile() para cosas parecidas... No sé exactamente cómo hace Matlab, aunque me suena que puedes crear archivos MEX (cuidado que igual estoy metiendo la pata... No recuerdo si los MEX son para ejecutar código Fortran en Matlab o viceversa). Simplemente estoy intentado darte alguna idea por si te sirve de algo.

Vamos, que después de haber escrito todo esto, creo que no vale de nada!
:-(

Un Saludo,
Miguel.



-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Pablo Emilio Verde
Enviado el: miércoles, 09 de diciembre de 2009 10:25
Para: r-help-es en r-project.org
Asunto: [R-es] Matlab to R

Hola,

Tengo algunos ejemplos de analisis estadisticos que han sido implementados en Matlab y me gustaria traducirlos a R.

Existe algun traductor de "Matlab to R" o tengo que hacerlo manualmente?

Gracias y saludos,

Pablo

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es








Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada.

Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada.

See more languages: http://www.sergas.es/aviso_confidencialidad.htm

XACOBEO 2010: http://www.xacobeo.org
unknown
2009-12-14 17:22:54 UTC
Permalink
Hola Pablo:

Por si te sirve... Yo hace años tenía unos scripts en matlab de
procesado de datos y visualización de gráficos, y los convertí a R para
poder publicar la tesis, codigo fuente de un modelo de balances de masa
en ecosistemas (fortran 90) y los scripts de visualización de gráficos
(en R) con licencias libres (GPL y CC-by-sa).

Si bien no tuve que convertir funciones estadísticas en mi caso (no las
usé), me ayudó mucho un documento que compara de forma tabulada la
sintaxis en matlab, scipy, octabe, scilab y R de las principales
funciones. Un pdf que me fue de fábula en la semanas que me llevó
convertir el código.

Había mirado opciones hi-tech de usar arrchivos MEX, pasar por C, y no
sé queé otras cosas semi automáticas más (que me acabaron dando
problemas y no me aseguraban el éxito en la conversión efectiva a R).
Así que opté por el camino lento pero seguro: convertir a mano los scripts.

Por si te sirve de ejemplo te dejo el enlace del "pdf" que me sacó del
apuro a mi en verano del 2007:
http://mathesaurus.sourceforge.net/matlab-python-xref.pdf

y la url de los scripts sencillos de matlab originales míos y los
convertidos a R.
http://sourceforge.net/projects/ommel/

Por si sirve de algo...

Saludos

Xavi

P.d: Ups, acabo de hacer una búsqueda rápida, y parece que efectivamente
en estos dos años puede haber documentos más fáciles para ayudarte en a
migración. A bote pronto, "San Google" me indica:
http://www.math.umaine.edu/~hiebeler/comp/matlabR.pdf
Post by unknown
Hola Pablo.
La manera más directa de "conectar" Matlab y R es a través del package R.matlab
Te pongo aquí un pequeño ejemplo para que veas como se haría.... Lo que construiremos será una conexión cliente/servidor entre R (cliente) y Matlab (server).
# Para ello cargamos la librería
library(R.matlab)
# Establecemos la conexión entre los dos programas
Matlab$startserver()
# Asignamos el host a una variable
matlab<-Matlab(host="localhost")
# usamos la función "evaluate" para ejecutar código (de ejmplo) en Matlab
evaluate(matlab,"u=rand(1,1000);")
# usamos la función "getVariable" para traernos a R el resultado
u<-getVariable(matlab,"u")
... Vaya.... Escribiendo este correo acabo de leer otro tuyo en el que cuentas que no tienes Matlab (supongo que sí tendrás Octave, de todas formas....). Bueno, pues olvida todo esto (que no borro porque es una pena... Ya que me he pasado el trabajo de escribirlo...).
:-)
Un comentario al margen; dentro de ese paquete puedes usar las funciones readMAT() y writeMAT() sin tener Matlab (aunque me temo que tu menor problema es leer ficheros Matlab de datos).
Por lo que cuentas, creo que debieras explorar la posibilidad de migrar el código de MatLab a R con algún paso intermedio (Fortran, por ejemplo).... Me suena que desde Octave se usa la función mkoctfile() para cosas parecidas... No sé exactamente cómo hace Matlab, aunque me suena que puedes crear archivos MEX (cuidado que igual estoy metiendo la pata... No recuerdo si los MEX son para ejecutar código Fortran en Matlab o viceversa). Simplemente estoy intentado darte alguna idea por si te sirve de algo.
Vamos, que después de haber escrito todo esto, creo que no vale de nada!
:-(
Un Saludo,
Miguel.
-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Pablo Emilio Verde
Enviado el: miércoles, 09 de diciembre de 2009 10:25
Para: r-help-es en r-project.org
Asunto: [R-es] Matlab to R
Hola,
Tengo algunos ejemplos de analisis estadisticos que han sido implementados en Matlab y me gustaria traducirlos a R.
Existe algun traductor de "Matlab to R" o tengo que hacerlo manualmente?
Gracias y saludos,
Pablo
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada.
Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada.
See more languages: http://www.sergas.es/aviso_confidencialidad.htm
XACOBEO 2010: http://www.xacobeo.org
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
Loading...