このようなことを意味しますか?
export NUM=10
R -q -e "rnorm($NUM)"
また、チェックアウトしたいかもしれませんlittler
- http://dirk.eddelbuettel.com/code/littler.html
更新しました
以下のあなたのコメントに従って、私はあなたの質問をよりよく理解し始めていると思います. Rシェル内でpythonを実行することについて質問しています。
ここに例があります: -
# code in a file named myfirstpythonfile.py
a = 1
b = 19
c = 3
mylist = [a, b, c]
for item in mylist:
print item
したがって、R シェルで次のようにします。
> system('python myfirstpythonfile.py')
1
19
3
基本的に、python /path/to/your/python/file.py
Python コードのブロックを呼び出すだけで実行できます。
私の場合、python myfirstpythonfile.py
Python ファイルが存在する同じディレクトリ (パス) で R シェルを起動したと仮定して、単純に呼び出すことができます。
さらに更新
そして、本当にソース コードを印刷したい場合は、可能性のある力ずくの方法を次に示します。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
そしてさらに更新されました:-)
したがって、目的がコードの実行前に Python コードを出力することである場合は、Python トレース モジュール (参照: http://docs.python.org/library/trace.html ) を使用できます。コマンド ラインでは、-m
オプションを使用して python モジュールを呼び出し、それに続くその python モジュールのオプションを指定します。
したがって、上記の例では、次のようになります。
$ 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)
ご覧のとおり、これは Python コードの正確な行をトレースし、直後に結果を実行して stdout に出力します。