ほとんどのプログラム言語ではシンボリックな計算はできません。
と言っても「シンボリックな計算って何?」と思う人のほうが多いかもしれませんが・・・。シンボリックな計算というのは「をで微分せよ」みたいな計算を言います。
「え?そんなの簡単じゃないの?」と思う人も少なくないでしょうが、「人間には簡単なことでもコンピューター(プログラム言語)には簡単じゃないことがある」という一例ですね。
ただ、すべてのプログラム言語が不得意かと言うとそうでもなくて、矢野が知っている範囲内でもMathematica, Maxima, Maple, Matlab(Symbolic Mathというパッケージを追加)などはシンボリック計算ができます。
で、我らがRではどうかというと・・・基本的にはシンボリックな計算はできません。まあ、そもそも「統計データの解析用ソフト」な訳で、シンボリックな計算をするってのは「お門違い」と言えます。
が、なぜか「簡単な関数(とかなど)ならシンボリックに微分ができる」という機能が付いています(微分だけができます)。
> D(expression(log(x)),"x")
1/x
> D(expression(1/x),"x")
-(1/x^2)
> D(expression(exp(a*x)),"x")
exp(a * x) * a
> D(expression(exp(-a*x)),"x")
-(exp(-a * x) * a)
> D(expression((x-1)^2), "x")
2 * (x - 1)
なぜ微分だけができるのか?謎はつきませんが、まあ、こんな機能もあるってことでw