全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 LATEX论坛
1161 0
2016-10-17
Motivation

Using R within a latex document can be a component of reproducible research,
offering (a) some assurance against typographical errors in transcribing
results to the latex file and (b) the ability for others to reproduce the
results.

For example, one might like to explain how close the computed
integral of the Witch of Agnesi function

12
woa <- function(x, a=1) 8 * a^3 / (x^2 + 4*a^2)integrate(woa, -Inf, Inf)
## 12.56637 with absolute error < 1.3e-09

is to the true value of $4pi$. One way to do that is to compute the mismatch

12
estimate <- integrate(woa, -Inf, Inf)$valuetheory <- 4 * pi

and to write something like

dots the misfit is Sexpr{abs(estimate-theory)}

in latex. However, the slew of digits is not especially useful, and the
computer-type exponential notation is not conventional in written work.

It would be good to have a function that writes such results in latex format.

Methods

A trial function is below.

1 2 3 4 5 6 7 8 9101112131415161718
scinot <- function(x, digits=2, showDollar=FALSE){    sign <- ""    if (x < 0) {        sign <- "-"        x <- -x    }    exponent <- floor(log10(x))    if (exponent) {        xx <- round(x / 10^exponent, digits=digits)        e <- paste("\\times 10^{", as.integer(exponent), "}", sep="")    } else {        xx <- round(x, digits=digits)        e <- ""    }    if (showDollar) paste("$", sign, xx, e, "$", sep="")    else paste(sign, xx, e, sep="")}

and a latex/sweave test use is

Limits may be infinite if set to texttt{Inf}, e.g. for the witch of Agnesifunction<<>>=woa <- function(x, a=1)    8 * a^3 / (x^2 + 4*a^2)integrate(woa, -Inf, Inf)@<<results=hide, echo=false>>=woa <- function(x, a=1)    8 * a^3 / (x^2 + 4*a^2)i <- integrate(woa, -Inf, Inf)$valueerr <- abs((i - 4 * pi) / (4 * pi))@the results differ from the true value $4pi$ by $Sexpr{scinot(err, 0)}$.

which yields as shown in the screenshot below. (Note that there is some
colourization and margin decoration that is not described by the code given
above.)

References and resources
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群