gpt4 book ai didi

r-markdown - Rmarkdown - 打印对象列表而不显示那些讨厌的 [[indices]]

转载 作者:行者123 更新时间:2023-12-02 00:35:39 26 4
gpt4 key购买 nike

这会有点罗嗦,因为没有适当的上下文,我不知道如何提出我的问题。

没有太多细节,在我的 summarytools 包中,我通过使用 print.summarytools< 的包装函数处理了 by() 对象,即view()。此 view() 函数可以识别通过 bylapply() 创建的对象,并将其组件分派(dispatch)给包的 print() ,带有与标题和脚注相关的适当参数,等等(第一个元素不会收到与第二个或最后一个相同的参数)。

包开发页面链接:

该包提供了两种呈现内容的方式:通过 pander 的 rmarkdown,以及使用 RStudio 的 htmltools 的 HTML。就rmarkdown/pander而言,我已经取得了令人满意的结果。对于 rmarkdown 文档中的 HTML 呈现,情况并非如此。

例如:

library(devtools)
install_github("dcomtois/summarytools", ref = "dev-current")
library(summarytools)

# call the descr() function through by() to get stats by gender
groupstats <- by(data = exams, INDICES = exams$gender, FUN = descr)

# Use the view() function to neatly display results
view(groupstats, method = 'render')

此示例以 Gist on github 的形式提供.

编织后的结果:

rendered html content

试了好几样,都不满意。由于 summarytool 的 print 方法返回的对象属于 shinytag 类,(也许)理想的解决方案是将所有这些组合到一个 shinytag 类列表中,但我'我不知道有什么方法可以使用 htmltools 来做到这一点。在我看来,手工挑选列表元素会带来麻烦,因为其中有很多列表嵌套。

我尝试了 lapply(groupstats, print, method = 'render'),但是我没有使用 [[n]],而是使用了 $names 出现。

所以我的问题是:我怎样才能去掉输出中的[[n]]

包源码包源码的相关夹头见summarytool's dev-current branch R/view.R 文件,第 78 -116 行。

最佳答案

如果您有一个 list() 项目将打印为 HTML,您可以使用 htmltools::tagList() 和列表的索引将它们放在一起不会显示。例如,

library(htmltools)
thelist <- list(a, b)

可能会像您的示例中那样显示 [1][2],但是

tagList(thelist)

tagList(a, b)

将只显示这两个项目。

关于r-markdown - Rmarkdown - 打印对象列表而不显示那些讨厌的 [[indices]],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49770125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com