7

knitr明らかなことを見逃しているかもしれませんが、次の例を見つけるのに苦労しています:パッケージを使用して、R での分析のレポートを html ファイルに書きたいと思います。関数を見つけましたが、stitch()どの結果とプロットがhtmlに書き込まれ、どの結果とプロットが書き込まれないかをより細かく制御できると便利です。原則として、次のコードを記述できるようにしたいと考えています。

# some dummy code
library(ggplot)
data <- read.table('/Users/mydata', header=TRUE)
model <- lm(Y~X*Y, data)

# write this result to html:
summary(model)
4

2 に答える 2

8

私はあなたが欠けているものを正確に理解していないと思いますが、ここに私が作った最小限の例があります. これを実行するには

library(knitr)
knit("r-report.html")

そしてその例。

<HTML>
<HEAD>
  <TITLE>Analyzing Diamonds!</TITLE>
</HEAD>

<BODY>
<H1>Diamonds are everywhere!</H1>

<!--begin.rcode echo=FALSE

## Load libraries, but do not show this
library(ggplot2)
library(plyr)
testData <- rnorm(1)
end.rcode-->

This is an analysis of diamonds, load the data.<p>
<!--begin.rcode echo=TRUE, fig.keep="all"
# Load the data
data(diamonds)
# Preview
head(diamonds)
end.rcode-->

Generate a figure, don't show code <p>
<!--begin.rcode echo=FALSE, fig.align="center", dev="png"
# This code is not shown, but figure will output
qplot(diamonds$color, fill=diamonds$color) + 
  opts(title="A plot title")
end.rcode-->

Show some code, don't output the figure<p>
<!--begin.rcode echo=TRUE, fig.keep="none"
# Show the code for this one, but don't write out the figure
ggplot(diamonds, aes(carat, price, colour=cut)) + 
  geom_point(aes(alpha=0.9))
end.rcode-->


And the value testData: <!--rinline testData --> inside a text block.

</BODY>
</HTML>
于 2012-04-28T17:22:57.737 に答える
6

R 内で HTML を作成することは、テンプレートを作成してそれを作成するよりも、私の目にははるかに面倒ですknit()(@dread は適切な例を示しています)。コードはかなり見苦しく、たくさんの「猫」が飛び回っています。次のような結果になる可能性があります。

sink('test.html') # redirect output to test.html
cat('<h1>First level header</h1>\n')
cat('<pre>')
summary(mtcars)
cat('</pre>\n')
sink()
browseURL('test.html')

とにかく、R2HTMLこの場合により適した別のパッケージがあります。

于 2012-04-28T20:26:35.150 に答える