Zastanawiałem się, czy można wykonać obliczenia symboliczne w języku R?
Na przykład,
Miałem nadzieję uzyskać odwrotność symbolicznej macierzy kowariancji rozkładu Gaussa 3D.
Czy mogę także wykonać integrację symboliczną i różnicowanie w języku R?
Tak. Jest tu pakiet Ryacas, który jest hostowany w Google Code tutaj . Ryacas został niedawno rozszerzony / przekonwertowany na pakiet rMathpiper, który jest tutaj hostowany . Użyłem Ryacas i jest to proste, ale musisz zainstalować Yacas , aby działał (Yacas wykonuje wszystkie ciężkie zadania; Ryacas jest tylko interfejsem R dla Yacas).
Istnieje również projekt rSymPy hostowany w Google Code tutaj . Nie próbowałem tego. Pomysł jest jednak podobny, link do sympikowanego CAS, który wykonuje symboliczną pracę.
Niektóre rzeczy są również w bazie R --- patrz help(deriv)
lub help(D)
.
Prosty przykład ze strony pomocy:
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>