2016-02-09 25 views
8

Ben conda install jupyter ile jupyter yüklü ve ben bir defter çalışan ve bir kabuğundan bir bash komutunu çalıştırmak istediğiniz am conda create -n my-r-env -c r r-essentialsR jupyter not defterinde ipython sihirbazlarını mı kullanıyorsunuz?

yüklü r Kernal bir defter çalıştırıyorum.

!echo "hi" 
Error in parse(text = x, srcfile = src): <text>:1:7: unexpected string constant 
1: !echo "hi" 
bir piton çekirdek ile bir defterde karşılaştırması için

:

!echo "hi" 
hi 

komutları bash açısından ipython notebook aynı özelliğe sahip R defterleri kurmak için bir yolu var mı (ve belki başka büyücüler)?

+1

Bu mümkün değil gibi görünüyor: https://github.com/IRkernel/IRkernel/issues/244 – elsherbini

cevap

6

Sadece bash komutları için, çalışmak için sistem komutlarını almak mümkündür. Örneğin, IRkernel içinde:

system("echo 'hi'", intern=TRUE) 

Çıktı:

'hi' 

Ya da bir dosyanın ilk 5 satırları görmek için: ipython magics olarak

system("head -5 data/train.csv", intern=TRUE) 

ipython çekirdeğindeki mevcuttur (ancak IRkernel'de değil), rPython ve PythonInR kütüphanelerini kullanarak bunlara erişmenin mümkün olup olmadığını hızlıca kontrol ettim. Ancak mesele get_ipython(), Python koduna görünmez olmasıdır böylece çalışmış aşağıdakilerin hiçbiri:

library("rPython") 
rPython::python.exec("from IPython import get_ipython; get_ipython().run_cell_magic('writefile', 'test.txt', 'This is a test')") 

library("PythonInR") 
PythonInR::pyExec("from IPython import get_ipython; get_ipython().run_cell_magic('head -5 data/test.csv')") 
İlgili konular