Через rpy2
в jupyter вы можете создавать свои данные непосредственно с python с помощью R
объектов. Как вы можете установить par(mfrow=c(1,2)
в python?Как установить mfrow/mfcol в python
Например, я хочу автоматически подавать матрицу с переменным размером от python и строить ее (среди других статистических анализов) с использованием rpy2
. Но вместо того, чтобы строить одиночный блокнот, я хочу, чтобы все они были выведены.
Вот некоторые примеры кода
import rpy2.ipython
import rpy2.robjects as ro
import scipy as sp
import re #python for regex
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
%load_ext rpy2.ipython
%R
test=[[1,3,2],[6,5,7,8,9]]
def funtoanalyze(grouparray):
a={}
data=numpy.array(test)
for ig in range(len(grouparray)):
key=grouparray[ig]
value=data[ig]
a[key]=value
next
rbox=ro.r('boxplot')
for gro in a:
datar=a[gro]
ro.r('dev.new()')
rbox(ro.FloatVector(datar[:]),xlab="",main=gro)
return
funtoanalyze(["group33","group2"]) #only plots last group
Спасибо за ваш ответ @lgautier. Действительно, я использую jupyter. Я надеялся избежать «%% R», так как я все еще изучаю, как вводить/выводить данные в/из него. Если вы знаете способ сделать это с помощью robjects, я был бы признателен, если бы вы могли добавить его к вашему ответу (но, пожалуйста, не удаляйте часть '%% R') – Sosi
Я добавил немного о построении в записной книжке без'% % r'. – lgautier
Большое спасибо @lgautier! – Sosi