gpt4 book ai didi

r - 如何使用与 gvisTable 类似的方法让 R 输出正文脚本以格式化 HTML 表格?

转载 作者:行者123 更新时间:2023-12-04 15:35:46 24 4
gpt4 key购买 nike

我想研究如何以不需要使用放置在 HTML header 中的样式的方式生成格式化的 HTML 表格。 I've broadly asked about this question already ,但收到了一个提到使用标题的答案和另一个涉及使用 pandoc 的答案( 更新:请参阅这篇文章的底部,了解自从提出这个问题 后发布的新答案。
我想要一个 R 函数,将格式化的 HTML 表格所需的所有 HTML 格式写入一个地方。

我最近一直在玩gvisTable它能够将所有相关信息写在一个地方:

以下代码

```{r results='asis'}
simpleData <- data.frame(matrix(1:9, nrow=3))
tab2 <- gvisTable(simpleData,
options=list(width = 600, height = 300))
print(tab2, "chart")
```

将以下内容输出到 R Markdown 文档中:
<!-- jsHeader -->
<script type="text/javascript" src="http://www.google.com/jsapi">
</script>
<script type="text/javascript">

// jsData
function gvisDataTableID273f3d05cccd ()
{
var data = new google.visualization.DataTable();
var datajson =
[
[
1,
4,
7
],
[
2,
5,
8
],
[
3,
6,
9
]
];
data.addColumn('number','X1');
data.addColumn('number','X2');
data.addColumn('number','X3');
data.addRows(datajson);
return(data);
}

// jsDrawChart
function drawChartTableID273f3d05cccd() {
var data = gvisDataTableID273f3d05cccd();
var options = {};
options["allowHtml"] = true;
options["width"] = 600;
options["height"] = 300;

var chart = new google.visualization.Table(
document.getElementById('TableID273f3d05cccd')
);
chart.draw(data,options);


}


// jsDisplayChart
function displayChartTableID273f3d05cccd()
{
google.load("visualization", "1", { packages:["table"] });
google.setOnLoadCallback(drawChartTableID273f3d05cccd);
}

// jsChart
displayChartTableID273f3d05cccd()

<!-- jsFooter -->
//-->
</script>

<!-- divChart -->

<div id="TableID273f3d05cccd"
style="width: 600px; height: 300px;">
</div>

当它被放置在上下文中时,就会产生一个 gvisTable。见 the second table in this output .

因此,一个简单的 R 函数已经输出了创建相当复杂的表格所需的所有 HTML。最终,我希望在 LateX 中看到相同程度的表格格式控制,仅适用于 R Markdown。如果这样的帖子经常出现在博客上、通过联合发布、RSS 阅读器等等,那么格式化命令在正文中会很好。

问题
  • 是否可以使用类似于 gvis 的方法(例如,HTML 正文中的脚本)来格式化 HTML 表格(例如,行、单元格格式、单元格高度和宽度、字体等)?
  • 是否有任何现有的 R 函数支持生成此类表?
  • 这个问题的假设是否有意义,或者是否有其他方法可以实现我使用 R Markdown 精确格式化 HTML 表格的更广泛目标?

  • 更新

    Joe has added an answer to my previous question他在其中提到了三个选项(正文中的样式;在标题中嵌入样式的 javascript;和范围样式 block )。所以我想剩下的主要问题是是否存在任何接口(interface)来促进将这种方法与 R Markdown 代码块一起使用。

    最佳答案

    来自 RStudio Docs ,可以设置knitr使用自定义样式表:

    # Set Custom CSS
    options(rstudio.markdownToHTML=
    function(inputFile, outputFile) {
    require(markdown)
    markdownToHTML(inputFile, outputFile, stylesheet='custom.css')
    }
    )

    只需更换 stylesheet='custom.css'带有样式表的文件路径。

    然后,你可以结合 xtableprint带有选项 type="html"在一个 block 中,你会得到一个格式良好的表格。
    xtable如果需要,也会产生 LaTeX。

    关于r - 如何使用与 gvisTable 类似的方法让 R 输出正文脚本以格式化 HTML 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893101/

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