Last updated: 2021-05-04 08:48:15 EST
Go home
Overview
A great feature of R notebooks is that you can typeset math with a few keystrokes.
This is done through LaTeX, a typesetting language supported by R Markdown. It’s a whole kettle of fish. All we need from it are the commands to render math.
You can learn more about LaTeX math here and even more here (plus a handy list of Greek symbols here).
Inline math
Inline meaning “in the line of the sentence” (or something like that).
In the middle of a sentence just wrap the math bits with $...$
.
For example, here is a my amazing formula: $y = f(x)$
\(y = f(x)\)
Full example
Let’s optimize
\[
f(x) = -x^2 + 2x + 4
\]
and put all the steps in an aligned environment, starting with the first-order condition:
$$
\begin{aligned}
f'_x &= 0 \\
-2x + 2 &= 0 \\
-2x &= -2 \\
x &= \frac{-2}{-2} \\
x^* &= 1
\end{aligned}
$$
\[
\begin{aligned}
f'_x &= 0 \\
-2x + 2 &= 0 \\
-2x &= -2 \\
x &= \frac{-2}{-2} \\
x^* &= 1
\end{aligned}
\]
OK, let’s confirm the results with numerical optimization.
First define the function:
f = function(x){
-x^2 + 2*x + 4
}
Then optimize it:
optimize(f = f, lower = -100, upper = 100, maximum = TRUE)
$maximum
[1] 1
$objective
[1] 5
Verify the solution (the objective function should equal 5 at the optimum):
[1] 5
LS0tCnRpdGxlOiAiVHlwZXNldHRpbmcgTWF0aCIKc3VidGl0bGU6ICJTdWZmb2xrRWNvbiIKYXV0aG9yOiAiIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUKICAgIHRoZW1lOiByZWFkYWJsZQogICAgaGlnaGxpZ2h0OiBweWdtZW50cwogICAgdG9jOiB0cnVlCiAgICB0b2NfZmxvYXQ6IAogICAgICBjb2xsYXBzZWQ6IHllcwotLS0KCgo8YSBocmVmPSJodHRwczovL2xyZGVnZWVzdC5naXRodWIuaW8vc3RhdHMvY29kZV9jaGVja3BvaW50cy5uYi5odG1sIiBjbGFzcz0iYnRuIGJ0bi13YXJuaW5nIj4qKkxhc3QgdXBkYXRlZDoqKiBgciBTeXMudGltZSgpYCBFU1QgPC9hPiAKCjxhIGhyZWY9Imh0dHBzOi8vc3VmZm9sa2Vjb24uZ2l0aHViLmlvLyIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCI+R28gaG9tZTwvYT4KCiMgT3ZlcnZpZXcKCkEgZ3JlYXQgZmVhdHVyZSBvZiBSIG5vdGVib29rcyBpcyB0aGF0IHlvdSBjYW4gdHlwZXNldCBtYXRoIHdpdGggYSBmZXcga2V5c3Ryb2tlcy4KClRoaXMgaXMgZG9uZSB0aHJvdWdoIExhVGVYLCBhIHR5cGVzZXR0aW5nIGxhbmd1YWdlIHN1cHBvcnRlZCBieSBSIE1hcmtkb3duLiBJdCdzIGEgd2hvbGUga2V0dGxlIG9mIGZpc2guIEFsbCB3ZSBuZWVkIGZyb20gaXQgYXJlIHRoZSBjb21tYW5kcyB0byByZW5kZXIgbWF0aC4gCgpZb3UgY2FuIGxlYXJuIG1vcmUgYWJvdXQgTGFUZVggbWF0aCBbaGVyZV0oaHR0cHM6Ly9ib29rZG93bi5vcmcveWlodWkvcm1hcmtkb3duL21hcmtkb3duLXN5bnRheC5odG1sI21hdGgtZXhwcmVzc2lvbnMpIGFuZCBldmVuIG1vcmUgW2hlcmVdKGh0dHBzOi8vd3d3Lm92ZXJsZWFmLmNvbS9sZWFybi9sYXRleC9tYXRoZW1hdGljYWxfZXhwcmVzc2lvbnMpIChwbHVzIGEgaGFuZHkgbGlzdCBvZiBHcmVlayBzeW1ib2xzIFtoZXJlXShodHRwczovL3d3dy5vdmVybGVhZi5jb20vbGVhcm4vbGF0ZXgvTGlzdF9vZl9HcmVla19sZXR0ZXJzX2FuZF9tYXRoX3N5bWJvbHMpKS4KCiMgSW5saW5lIG1hdGgKCklubGluZSBtZWFuaW5nICJpbiB0aGUgbGluZSBvZiB0aGUgc2VudGVuY2UiIChvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4KCkluIHRoZSBtaWRkbGUgb2YgYSBzZW50ZW5jZSBqdXN0IHdyYXAgdGhlIG1hdGggYml0cyB3aXRoIGAkLi4uJGAuIAoKRm9yIGV4YW1wbGUsIGhlcmUgaXMgYSBteSBhbWF6aW5nIGZvcm11bGE6IGAkeSA9IGYoeCkkYCAkeSA9IGYoeCkkCgoKIyBGb3JtdWxhcwoKSW4gdGhlIGxlY3R1cmVzIHlvdSd2ZSBzZWVuIHBsZW50eSBvZiBtYXRoIGZvcm11bGFzLiBUaGV5IGFyZSBhbHdheXMgaW5zaWRlIGEgImZlbmNlIiBvZiBkb2xsYXIgc2lnbnM6CgpgYGAKJCQKJSBtYXRoIGhlcmUKJCQKYGBgCgpGb3IgaW5zdGFuY2UsIHkgPSBmKHgpID0gMng6CgokJAp5ID0gZih4KSA9IDJ4CiQkCgoKIyMgUG93ZXJzCgphIHJhaXNlZCB0byB0aGUgYjoKCmBgYAokJAphXmIKJCQKYGBgCgpJZiB0aGUgcG93ZXIgaXMgbW9yZSB0aGFuIG9uZSBjaGFyYWN0ZXIgKGUuZy4sIDIwIGluc3RlYWQgb2YgMikganVzdCB3cmFwIHRoZSBwb3dlciBpbiBge31gOgoKYGBgCiQkCmFeezIwfQokJApgYGAKCiMjIFVuZGVyc2NvcmVzCgphIHVuZGVyc2NvcmUgYjoKCmBgYAokJAphX2IKJCQKYGBgCgptdWx0aXBsZSBjaGFyYWN0ZXJzOgoKYGBgCmFfe2JjfQpgYGAKCgojIyBHcmVlayBzeW1ib2xzCgpFdmVyeWJvZHkga25vd3MgeW91ciBtYXRoIGxvb2tzIGJldHRlciBpbiBHcmVlay4gCgpUaGUgbW9zdCBjb21tb24gb25lcyBhcmUgImJldGFzIiBmb3IgcmVncmVzc2lvbiBjb2VmZmljaWVudHMKCmBgYAokJApcYmV0YQokJApgYGAKCmFuZCAiZXBzaWxvbnMiIGZvciB0aGUgZXJyb3IgdGVybToKCmBgYAokJApcZXBzaWxvbgokJApgYGAKCkZvciBpbnN0YW5jZSwgYSBzaW1wbGUgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWwgd2l0aCBhbiBpbnRlcmNlcHQgImJldGEgbm91Z2h0IiBhbmQgYSBzbG9wZSAiYmV0YSBvbmUiICh5b3UgbmVlZCB1bmRlcnNjb3JlcyBoZXJlKToKCmBgYAokJAp5ID0gXGJldGFfMCArIFxiZXRhXzEgeF8xICsgXGJldGFfMiB4XzIgKyBcZXBzaWxvbgokJApgYGAKCgokJAp5ID0gXGJldGFfMCArIFxiZXRhXzEgeF8xICsgXGJldGFfMiB4XzIgKyBcZXBzaWxvbgokJAoKIyMgRnJhY3Rpb25zCgpgYGAKXGZyYWN7bnVtZXJhdG9yfXtkZW5vbWluYXRvcn0KYGBgCgpGb3IgZXhhbXBsZToKCgpgYGAKJCQKXGZyYWN7M3ggKyB5XjJ9ezhsb2coeCszKX0KJCQKYGBgCgokJApcZnJhY3szeCArIHleMn17OGxvZyh4KzMpfQokJAoKCldlIGNhbiBjb21iaW5lIHRoaXMgd2l0aCB0aGUgcGFydGlhbCBkZXJpdmF0aXZlIHN5bWJvbCBgXHBhcnRpYWxgIHRvIHdyaXRlIHRoZSBwYXJ0aWFsIGRlcml2YXRpdmUgb2YgJGYoeCx5KSA9IHheMiArIHleMiQ6CgpgYGAKJCQKXGZyYWN7XHBhcnRpYWwgZn17XHBhcnRpYWwgeH0gPSAyeCA9IGYnX3gKJCQKYGBgCgokJApcZnJhY3tccGFydGlhbCBmfXtccGFydGlhbCB4fSA9IDJ4ID0gZidfeAokJAoKIyBBbGlnbmVkIGZvcm11bGFzCgpUaGlzIGlzIGFzIGNvbXBsaWNhdGVkIGFzIGl0IGdldHMgZm9yIHVzLCBhbmQgaXQncyBzdGlsbCBub3QgdGhhdCBiYWQuCgpGaXJzdCwgZXZlcnl0aGluZyBoYXMgdG8gYmUgaW4gYW4gKiphbGlnbmVkKiogImVudmlyb25tZW50IjoKCmBgYAokJApcYmVnaW57YWxpZ25lZH0KJSBtYXRoIGhlcmUKXGVuZHthbGlnbmVkfQokJApgYGAKCnRoZW46IAoKKiB1c2UgYCZgIHRvIGluZGljYXRlIHdoZXJlIHlvdSB3YW50IGFsaWdubWVudCB0byBoYXBwZW4gKGUuZy4sIGAmPWAgbWVhbnMgImFsaWduIG9uIHRoZSBlcXVhbHMgc2lnbiIpCiogYnJlYWsgZWFjaCBsaW5lIHdpdGggYFxcYAoKYGBgCiQkClxiZWdpbnthbGlnbmVkfQogZih4KSArIGgoeCkgKyBqKHgpICY9IHggKyB5IFxcCiBnKHgpICY9IHogKyBiClxlbmR7YWxpZ25lZH0KJCQKYGBgCgokJApcYmVnaW57YWxpZ25lZH0KIGYoeCkgKyBoKHgpICsgaih4KSArIGNhdCh4KSAmPSB4ICsgeSBcXAogZyh4KSAmPSB6ICsgYgpcZW5ke2FsaWduZWR9CiQkCgoKIyBGdWxsIGV4YW1wbGUKCkxldCdzIG9wdGltaXplCgokJApmKHgpID0gLXheMiArIDJ4ICsgNAokJAoKYW5kIHB1dCBhbGwgdGhlIHN0ZXBzIGluIGFuIGFsaWduZWQgZW52aXJvbm1lbnQsIHN0YXJ0aW5nIHdpdGggdGhlIGZpcnN0LW9yZGVyIGNvbmRpdGlvbjoKCgpgYGAKJCQKXGJlZ2lue2FsaWduZWR9CiBmJ194ICY9IDAgXFwKIC0yeCArIDIgJj0gMCBcXAogLTJ4ICY9IC0yIFxcCiB4ICAmPSBcZnJhY3stMn17LTJ9IFxcCiB4XiogJj0gMQpcZW5ke2FsaWduZWR9CiQkCmBgYAoKCiQkClxiZWdpbnthbGlnbmVkfQogZidfeCAmPSAwIFxcCiAtMnggKyAyICY9IDAgXFwKIC0yeCAmPSAtMiBcXAogeCAgJj0gXGZyYWN7LTJ9ey0yfSBcXAogeF4qICY9IDEKXGVuZHthbGlnbmVkfQokJAoKCgpPSywgbGV0J3MgY29uZmlybSB0aGUgcmVzdWx0cyB3aXRoIG51bWVyaWNhbCBvcHRpbWl6YXRpb24uCgpGaXJzdCBkZWZpbmUgdGhlIGZ1bmN0aW9uOgoKYGBge3J9CmYgPSBmdW5jdGlvbih4KXsKICAteF4yICsgMip4ICsgNAp9CmBgYAoKVGhlbiBvcHRpbWl6ZSBpdDoKCmBgYHtyfQpvcHRpbWl6ZShmID0gZiwgbG93ZXIgPSAtMTAwLCB1cHBlciA9IDEwMCwgbWF4aW11bSA9IFRSVUUpCmBgYAoKVmVyaWZ5IHRoZSBzb2x1dGlvbiAodGhlIG9iamVjdGl2ZSBmdW5jdGlvbiBzaG91bGQgZXF1YWwgNSBhdCB0aGUgb3B0aW11bSk6CgpgYGB7cn0KZih4ID0gMSkKYGBgCgoKCgoKCgoKCg==