Cálculo simbólico en R?

27

Me preguntaba si es posible hacer cálculos simbólicos en R?

Por ejemplo,

Esperaba obtener el inverso de una matriz de covarianza simbólica de distribución gaussiana en 3D.

¿También puedo hacer integración simbólica y diferenciación en R?

Tim
fuente

Respuestas:

22

Sí. Existe el paquete Ryacas que está alojado en Google Code aquí . Ryacas se ha expandido / convertido recientemente al paquete rMathpiper que está alojado aquí . He usado Ryacas y es sencillo, pero necesitará instalar Yacas para que funcione (Yacas hace todo el trabajo pesado; Ryacas es solo una interfaz R para Yacas).

También está el proyecto rSymPy alojado en Google Code aquí . No he probado este. La idea es similar, sin embargo, se vincula al CAS Sympy que hace el trabajo simbólico.


fuente
19

Algunas cosas también están en la base R --- ver help(deriv)o help(D).

Un ejemplo simple de esa página de ayuda:

R> trig.exp <- expression(sin(cos(x + y^2)))
R> ( D.sc <- D(trig.exp, "x") )
-(cos(cos(x + y^2)) * sin(x + y^2))
R>      all.equal(D(trig.exp[[1]], "x"), D.sc)
[1] TRUE
R> 
Dirk Eddelbuettel
fuente
6

Tiene más sentido usar un CAS "real" como Maxima .

Shige
fuente
12
Bueno, la pregunta original era sobre R sin embargo.
Dirk Eddelbuettel