pander学习

1.pander包是什么
pander这个包提供了一系列的函数可以从多个类型的R对象自动地返回Pandoc's markdown 。这个包就是用R操作的pandoc。 也可以按照三种方式输出/转化Pandoc文档: (1)按某种方式生成markdown文档,用Pandoc.convert转化为HTML, odt, pdf, docx 等。 (2)可以用brew包的语法写报告来生成pandoc文档(其中R对象可以生成格式化表格或列表等形式),也可以自动生成一大票其它的格式(HTML, odt, pdf, docx etc
3)用户能用在活动的R片段里加入R对象或者段落的方式创建报告到Pandoc参考类对象(R5对象)
尽管很多函数的运行并不依赖pandoc,还是预先安装为好。
2.pander包可以做什么
1)简单的功能 一系列以Pandoc.开头的函数,可以完成一些基本的pandoc操作。
library(pander)
pandoc.image("mcmc11.jpg", "density plot")
## ![density plot](mcmc11.jpg)
pandoc.footnote("这好像真的是显然的")
## ^[这好像真的是显然的]
2)列表
l <- list("a", c("e", "r"), "b", c("A", "D"))
pandoc.list(l, "roman")
##
## I. a
## I. e
## II. r
## II. b
## I. A
## II. D
##
## <!-- end of list -->
(3)表格 可以实现pandoc所支持的4种形式,针对Rdata frame, matrix 或者 table 多线形式( multiline format,simple tables,grid format,rmarkdown tables,这个表的形式可以直接knitr
d <- data.frame(name = c("张三", "李四"), age = c(20, 21), employed = factor(c("Y",
"N")))
pandoc.table(d)
##
## -----------------------
## name age employed
## ------ ----- ----------
## 张三 20 Y
##
## 李四 21 N
## -----------------------
# simple tables
pandoc.table(d, style = "simple")
##
##
## name age employed
## ------ ----- ----------
## 张三 20 Y
## 李四 21 N
# grid format
pandoc.table(d, style = "grid")
##
##
## +--------+-------+------------+
## | name | age | employed |
## +========+=======+============+
## | 张三 | 20 | Y |
## +--------+-------+------------+
## | 李四 | 21 | N |
## +--------+-------+------------+
# rmarkdown tables
pandoc.table(d, style = "rmarkdown")
##
##
## | name | age | employed |
## |:------:|:-----:|:----------:|
## | 张三 | 20 | Y |
## | 李四 | 21 | N |
#还有很多其它参数帮助制作更好的表格。比如,加标题Caption(不过只能输出到表的下端)
pandoc.table(d, style = "rmarkdown", caption = "survey")
##
##
## | name | age | employed |
## |:------:|:-----:|:----------:|
## | 张三 | 20 | Y |
## | 李四 | 21 | N |
##
## Table: survey
# set.caption函数
set.caption("survey")
pandoc.table(d, style = "rmarkdown")
##
##
## | name | age | employed |
## |:------:|:-----:|:----------:|
## | 张三 | 20 | Y |
## | 李四 | 21 | N |
##
## Table: survey
(4)一般化pandoc方法 pander可以把很多R对象转化为pandocizedS3对象类
pander(prcomp(iris[, 1:4]))
Principal Components Analysis

PC1
PC2
PC3
PC4
Sepal.Length
0.3614
-0.6566
0.582
0.3155
Sepal.Width
-0.08452
-0.7302
-0.5979
-0.3197
Petal.Length
0.8567
0.1734
-0.07624
-0.4798
Petal.Width
0.3583
0.07548
-0.5458
0.7537
pander(head(iris))
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
## not to split tables
panderOptions('table.split.table', Inf)
## iris still rocks
pander(head(iris))
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
panderOptions('knitr.auto.asis', FALSE)
pander(head(iris))
##
## -------------------------------------------------------------------
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## -------------- ------------- -------------- ------------- ---------
## 5.1 3.5 1.4 0.2 setosa
##
## 4.9 3 1.4 0.2 setosa
##
## 4.7 3.2 1.3 0.2 setosa
##
## 4.6 3.1 1.5 0.2 setosa
##
## 5 3.6 1.4 0.2 setosa
##
## 5.4 3.9 1.7 0.4 setosa
## -------------------------------------------------------------------
pander(head(iris))
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
2.现在knitr(1.3)包中包含用于创建表的kable函数:
library(knitr)
kable(head(iris), format = "markdown")
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3.0
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5.0
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
library("knitr","xtable")
kable(head(iris),format="markdown")
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3.0
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5.0
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa
kable(head(iris),format="pandoc",caption="Title of the table")
Title of the table
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Species
5.1
3.5
1.4
0.2
setosa
4.9
3.0
1.4
0.2
setosa
4.7
3.2
1.3
0.2
setosa
4.6
3.1
1.5
0.2
setosa
5.0
3.6
1.4
0.2
setosa
5.4
3.9
1.7
0.4
setosa

format="pandoc"允许更多选项,如标题。

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理