knitr提供了近60个参数选项用于自定义chunk的输出
通过以下网址可以查看全部的options:http://yihui.name/knitr/options/.
这里展示比较常用的重要的options
x<-runif(10)
y<-runif(10)
x
> [1] 0.62342719 0.99018785 0.14581361 0.47772557 0.05882587 0.98083123
> [7] 0.35680228 0.80947740 0.27125853 0.93749681
plot(x,y,type="l")
说明
默认情况下数据框输出跟在console的输出格式一样,使用kable函数可以输出表格格式
mtcars[1:5,1:10]
> mpg cyl disp hp drat wt qsec vs am gear
> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4
> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4
> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4
> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3
> Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3
knitr::kable(mtcars[1:5,1:10],
caption = "A knitr table")
mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | |
---|---|---|---|---|---|---|---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 |
Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 |
Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 |
Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 |
Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 |
说明
为了实现可再现性,所有的输出内容都是从空白页面开始构建,以确保代码里包含所有重要信息。
但是当代码块里面有计算量较大的指令,那就需要用到缓存:定义cache=TRUE。 设置缓存时,计算结果会保存到特定文件,下一次执行时,如果代码块没有改变,则引用该缓存文件。
rawdata<-readr::read_csv("a_very_large_file.csv")
注意例子只是样本代码,设置了eval=FAlSE,不执行
processing the terribly large data
此处注意,如果没有定义dependson=“raw_data”,那么即使读取的csv文件改变了, 只要‘processing’没有改变,仍然不会重新执行该代码块,而是直接使用缓存。
如果担心“a_very_large_file.csv”文件内容本身发生改变,导致后续的代码使用缓存而出错,可以在 raw_data代码块增加cache.extra=file.info(“file_name”)这样可以检查文件的相关信息,包括最后一次 修改的时间。
knitr::clean_cache()
使用上述指令可以清除所有的缓存(当缓存的文件越来越复杂混乱的时候)
关于全局设置的内容在第五部分的script中出现
直接在文本中间引用并嵌入R代码,knit之后以执行结果的形式显示
For example,we have data about 53940 diamonds.
在文本中嵌入数字的时候,最好设置精确度,以及在大数中插入逗号(使用format函数)
a<-1234567
format(a,big.mark = ",")
> [1] "1,234,567"
b<-0.1234567
format(b,digits = 2)
> [1] "0.12"