添加原生的knitr打印方法

时间:2016-12-15 19:59:52

标签: r knitr rnotebook

我正在寻找一种方法来调整函数,这些函数通常在查看器或浏览器中显示html表格,以便在调用时自动将html插入到rnotebooks等knitr文档中。

具体来说,我想改变包sjPlot中的函数的行为方式。目前,他们返回一个具有$knitr属性的对象,该属性必须手动插入,然后在查看器中生成一个html表:

`r sjt.frq(efc$e42dep, no.output=TRUE)$knitr`

其中一项功能是sjt.frq。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

来自knit_print

library(knitr)
a = 42
class(a) = "my_class"
knit_print.my_class = function(x,...){
    res = paste("{{", x,"}}")
    asis_output(res)
}
a

当我编织文档时它起作用但不适用于RNotebooks但不适用于sjt.frq。但是,RNotebook的工作原理如下:

library(sjPlot)
library(sjmisc)
library(knitr)

data(efc)
asis_output(sjt.frq(efc$e42dep, no.output=TRUE)$knitr)