2

Gnu R には、数式と記号を記す非常に奇妙な方法が付属しています。ここでよく議論され、R ヘルプページ で言及されてい?plotmathます。R で単純な数式のコードを書いたことがある人はLaTeX、判読不能に見え、書き間違えやすいものです。

数式で注釈を付けるより良い方法はありますか? tex2r("x_2")奇妙なコードを生成するような関数はありますか?

編集:

TikZdevice はまだ非常に壊れやすく、印刷出力がまったく同じに見えないため、TikZdevice を使用しないソリューションを探しています。

4

2 に答える 2

7

tikzDeviceパッケージ(現在は CRAN アーカイブからのみ入手可能) を使用すると、ストレートアップの LaTeX マークアップを使用してプロットに注釈を付けることができます。(パッケージには、すぐに使える美しいビネットが付属しています)。

以下の例は、このページから直接持ち上げたもので、生成される図も表示されています。

require(tikzDevice)

tikz('normal.tex', standAlone = TRUE, width=5, height=5)

# Normal distribution curve
x <- seq(-4.5,4.5,length.out=100)
y <- dnorm(x)

# Integration points
xi <- seq(-2,2,length.out=30)
yi <- dnorm(xi)

# plot the curve
plot(x,y,type='l',col='blue',ylab='$p(x)$',xlab='$x$')
# plot the panels
lines(xi,yi,type='s')
lines(range(xi),c(0,0))
lines(xi,yi,type='h')

#Add some equations as labels
title(main="$p(x)=\\frac{1}{\\sqrt{2\\pi}}e^{-\\frac{x^2}{2}}$")
int <- integrate(dnorm,min(xi),max(xi),subdivisions=length(xi))
text(2.8, 0.3, paste("\\small$\\displaystyle\\int_{", min(xi),
    "}^{", max(xi), "}p(x)dx\\approx", round(int[['value']],3),
    '$', sep=''))

#Close the device
dev.off()

# Compile the tex file
tools::texi2dvi('normal.tex',pdf=T)
于 2012-10-30T20:45:54.283 に答える