Si vous souhaitez utiliser les fonctions R dans ipython, utilisez %% R ou
python
import pyper as pr
r = pr.R(use_pandas =True)
Avec cela, vous ne vous souciez pas de la portée de la variable plus que %% R
python
def sample(lambda_target, sample_size):
return r('rpois(%d, %f)'%(sample_size, lambda_target))
Il est pratique de créer une telle méthode python
Cependant, avec cela, la valeur de retour est
'try({rpois(50, 8.000000)})\n [1] 8 6 11 8 10 9 8 10 5 11 8 4 13 11 4 10 5 14 5 9 11 10 7 9 1\n[26] 8 6 10 4 8 14 13 3 8 13 2 9 6 6 7 11 7 5 6 5 8 7 10 5 8\n'
Il devient une chaîne de caractères de sortie de type console R.
python
re.sub(r' +', ',' ,(re.sub(r'\[.+?\]', '', return_str.split(')')[-1].replace('\n','')).strip())).split(",")
#Cast requis car le résultat est une chaîne
Alors je mâche ça à chaque fois
Existe-t-il un moyen de rendre la valeur de retour plus utilisable? ..
Recommended Posts