html - print.xtable 弄乱了 html 标签

标签 html r html-table xtable

我在使用 print.xtable 将 html 表格插入另一个表格时遇到困难。

DF=data.frame(A=c("a","b"),B=c("This is a text
<table border=1>
<tr> <th>  </th> <th> x </th> <th> error </th>  </tr>
  <tr> <td align=\"right\"> 1 </td> <td> element1 </td> <td> thing1 </td> </tr>
  <tr> <td align=\"right\"> 2 </td> <td> element2 </td> <td> thing2 </td> </tr>
  <tr> <td align=\"right\"> 3 </td> <td> element3 </td> <td> thing3 </td> </tr>
   </table>","ok"))

这似乎工作正常:(内表的 html 标签与外表的 html 标签相似)

xtable(DF,digits=2)

但是 print.xtable(xtable(DF,digits=2), type="html") 正在将内表标签转换为 < >:

<!-- html table generated in R 3.1.2 by xtable 1.7-4 package -->
<!-- Mon Feb 16 05:55:32 2015 -->
<table border=1>
<tr> <th>  </th> <th> A </th> <th> B </th>  </tr>
  <tr> <td align="right"> 1 </td> <td> a </td> <td> This is a text
&lt;table border=1&gt;
&lt;tr&gt; &lt;th&gt;  &lt;/th&gt; &lt;th&gt; x &lt;/th&gt; &lt;th&gt; error &lt;/th&gt;  &lt;/tr&gt;
  &lt;tr&gt; &lt;td align="right"&gt; 1 &lt;/td&gt; &lt;td&gt; element1 &lt;/td&gt; &lt;td&gt; thing1 &lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td align="right"&gt; 2 &lt;/td&gt; &lt;td&gt; element2 &lt;/td&gt; &lt;td&gt; thing2 &lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td align="right"&gt; 3 &lt;/td&gt; &lt;td&gt; element3 &lt;/td&gt; &lt;td&gt; thing3 &lt;/td&gt; &lt;/tr&gt;
   &lt;/table&gt; </td> </tr>
  <tr> <td align="right"> 2 </td> <td> b </td> <td> ok </td> </tr>
   </table>

因此我的问题是:有没有办法确保所有标签都完好无损?

最佳答案

问题是默认的 sanitize.text.function 正在更改 html 标签。您可以尝试将其重置为不改变任何内容的函数(将其设置为 NULL 将调用默认值:

print.xtable(xtable(DF,digits=2), type="html",sanitize.text.function=function(x){x})

关于html - print.xtable 弄乱了 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28534206/

相关文章:

html - 如何在另一个 div 中对齐 3 个 div(左/中/右)?

html - CSS 定位 - 如何解决加载问题

html - 从 R 中多个网页的表格中抓取数据(足球运动员)

HTML - 垂直对齐表格

php - 每个结果都出现在表格中而不是行中

html - 固定表格布局的宽度

HTML 表单不适用于内部表格

r - 当使用 group_by() 后跟 summarise() 和 dplyr 时,如何在分组中不包括 NA 观察结果?

r - 按列开始和结束转换数据帧 R

html - 表格在 Firefox 中显示错误,表格水平显示?