¿Te refieres a algo como esto?
export NUM=10
R -q -e "rnorm($NUM)"
También te de revisar littler
- http://dirk.eddelbuettel.com/code/littler.html
ACTUALIZADO
Tras su comentario a continuación, creo que estoy empezando a comprender mejor a su pregunta. Usted está preguntando sobre ejecutar Python dentro de la capa R.
Así que aquí está un ejemplo: -
# code in a file named myfirstpythonfile.py
a = 1
b = 19
c = 3
mylist = [a, b, c]
for item in mylist:
print item
En su shell R, por lo tanto, hacer esto:
> system('python myfirstpythonfile.py')
1
19
3
Esencialmente, sólo tiene que llamar python /path/to/your/python/file.py
para ejecutar un bloque de código Python.
En mi caso, simplemente puedo llamar al python myfirstpythonfile.py
suponiendo que lancé mi shell R en el mismo directorio (ruta) donde reside mi archivo python.
MÁS ACTUALIZADO
Y si realmente desea imprimir el código fuente, aquí hay un método de fuerza bruta que podría ser posible. En su shell R: -
> system('python -c "import sys; sys.stdout.write(file(\'myfirstpythonfile.py\', \'r\').read());"; python myfirstpythonfile.py')
a = 1
b = 19
c = 3
mylist = [a, b, c]
for item in mylist:
print item
1
19
3
Y MÁS MÁS ACTUALIZADO :-)
lo tanto, si el propósito es imprimir el código Python antes de la ejecución de un código, podemos usar el módulo de traza pitón (referencia: http://docs.python.org/library/trace.html). En la línea de comando, usamos la opción -m
para llamar a un módulo python y especificamos las opciones para ese módulo python que lo sigue.
lo tanto, para el ejemplo anterior, sería: -
$ python -m trace --trace myfirstpythonfile.py
--- modulename: myfirstpythonfile, funcname: <module>
myfirstpythonfile.py(1): a = 1
myfirstpythonfile.py(2): b = 19
myfirstpythonfile.py(3): c = 3
myfirstpythonfile.py(4): mylist = [a, b, c]
myfirstpythonfile.py(5): for item in mylist:
myfirstpythonfile.py(6): print item
1
myfirstpythonfile.py(5): for item in mylist:
myfirstpythonfile.py(6): print item
19
myfirstpythonfile.py(5): for item in mylist:
myfirstpythonfile.py(6): print item
3
myfirstpythonfile.py(5): for item in mylist:
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)
que, como podemos ver, traza la línea exacta de código Python, ejecuta el resultado inmediatamente después y la emite en la salida estándar.
¿Ha considerado usar RPy? –
el problema es que quiero ejecutar código python en R, en lugar de código R en python, por lo que RPy probablemente no sea una opción aquí; o me perdí algo obvio? ... –