我有一个reactable
表,如果我将R脚本嵌入到R Markdown中,就可以在网页上成功显示该表。但是,我想在单独的R脚本中构建该表,并将其加载到R Markdown文件中。
在一个单独的R脚本中,我构建了可React表。
> class(react_tbl)
[1] "reactable" "htmlwidget"
该表显示在RStudio查看器中。
现在保存该表:
qsave(react_tbl, react_table_filename)
为了进行检查,我在R脚本中执行以下操作:
react_tbl <- qread(react_table_filename)
react_tbl
该表将出现在查看器中。
现在,在R Markdown中,我按照通常的方式使用Blogdown〉Github〉Netlify来完成这一操作并发布页面:
```{r, echo=FALSE, message=FALSE, warning=FALSE}
library("qs")
react_table_filename <- "<path to saved react table.qs>"
react_table <- qread(react_table_filename)
react_table
网页上的结果是大量的文本:
$x
$x$tag
<Reactable data="{"etf_symbol":["CASH.TO","CSAV.TO","HISA.NE","NSAV.NE","PSA.T O"],"five_hundred":...
我如何让实际的React表出现?
1条答案
按热度按时间xam8gpfp1#
在R的S3系统中,特殊的打印是由对象特有的
print
方法完成的,如您所见,reactable
创建了类为"reactable"
和"htmlwidget"
的对象,因此R将首先查找print.reactable
函数,然后查找print.htmlwidget
,最后查找print.default
。并且将使用它找到的第一个(在R Markdown文档中,自动打印实际上将查找knit_print.reactable
、knit_print.htmlwidget
,然后是knit_print.default
,但是这个区别在这里不相关)。在RMarkdown文件中,加载了对象,但没有加载打印函数。将
library(reactable)
添加到文档的设置中应该可以解决问题。reactable
导入htmlwidgets
,因此该包(和其他一些包)也将自动加载,并且打印方法将可用。