2010-06-05 5 views
2

J'écris un court document Sweave qui donne une présentation Beamer, dans laquelle j'utilise le paquet sagetex pour résoudre une équation pour deux paramètres dans la distribution binaire binomiale, et J'ai besoin d'assigner les valeurs de paramètres dans la session R afin que je puisse faire un traitement supplémentaire sur ces valeurs. L'extrait de code suivant montre comment je suis en interaction avec la sauge:Affectation de valeurs de variables sauge dans les objets R via sagetex et Sweave

<<echo=false,results=hide>>= 
mean.raw <- c(5, 3.5, 2) 
theta <- 0.5 
var.raw <- mean.raw + ((mean.raw^2)/theta) 
@ 

\begin{frame}[fragile] 
\frametitle{Test of Sage 2} 
\begin{sagesilent} 
var('a1, b1, a2, b2, a3, b3') 
eqn1 = [1000*a1/(a1+b1)==\Sexpr{mean.raw[1]}, ((1000*a1*b1)*(1000+a1+b1))/((a1+b1)^2*(a1+b1+1))==\Sexpr{var.raw[1]}] 
eqn2 = [1000*a2/(a2+b2)==\Sexpr{mean.raw[2]}, ((1000*a2*b2)*(1000+a2+b2))/((a2+b2)^2*(a2+b2+1))==\Sexpr{var.raw[2]}] 
eqn3 = [1000*a3/(a3+b3)==\Sexpr{mean.raw[3]}, ((1000*a3*b3)*(1000+a3+b3))/((a3+b3)^2*(a3+b3+1))==\Sexpr{var.raw[3]}] 
s1 = solve(eqn1, a1,b1) 
s2 = solve(eqn2, a2,b2) 
s3 = solve(eqn3, a3,b3) 
\end{sagesilent} 

Solutions of Beta Binomial Parameters: 
\begin{itemize} 
\item $\sage{s1[0]}$ 
\item $\sage{s2[0]}$ 
\item $\sage{s3[0]}$ 
\end{itemize} 
\end{frame} 

Tout compile très bien, et dans cette diapositive, je suis en mesure de voir les solutions aux trois équations des paramètres respectifs dans cette liste détaillée (par exemple la première article dans la liste détaillée de cette diapositive beamer est sortie comme [a1=(328/667), b1=(65272/667)] (je ne suis pas en mesure de poster une image de la diapositive beamer mais j'espère que vous avez l'idée)

Je voudrais enregistrer les valeurs de paramètre a1,b1,a2,b2,a3,b3 en R Je ne peux pas trouver de documentation dans le paquet sagetex sur la façon d'enregistrer la sortie de commandes de sauge dans des variables pour une utilisation avec d'autres programmes. (dans ce cas R). Des suggestions sur la façon d'obtenir ces valeurs dans R?

Répondre

1

Wow, vous mélangez vraiment deux mondes;)

La seule idée que je peux vous donner est le paramètre « solution_dict = True » pour la commande résoudre. Ensuite, vous obtenez un dictionnaire Python qui pourrait vous aider à simplement afficher la valeur. Mais je n'ai aucune idée de ce que fait exactement Sweave et quand quelle étape du processus réécrit quoi.

En général, il peut être préférable de ne l'écrire que dans sagetex et d'appeler R via l'interpréteur rpy2 Python. Mais cela pourrait être trop de travail pour vous - peut-être juste pour une diapositive et ensuite les assembler via une fusion de pdf?

Questions connexes