Per*_*ion 15 html r html-table
假设我在R中有一个数据框.我想将它作为简单的HTML表写入文件.只是<table>,<tr>和<td>标签.
到目前为止,这似乎比它应该更难.现在我正试图像这样使用R2THML:
HTML(dataframe, file=outpath, append=FALSE)
Run Code Online (Sandbox Code Playgroud)
但后来我得到了一个丑陋的html风格的文件,可能看起来像这样:
<table cellspacing=0 border=1>
<caption align=bottom class=captiondataframe></caption>
<tr><td>
<table border=0 class=dataframe>
<tbody>
<tr class= firstline >
<th> </th>
<th>name </th>
<th>donations </th>
<th>clicks </th>
...
</tr>
<tr>
<td class=firstcolumn>1
</td>
<td class=cellinside>Black.text
</td>
...
</tbody>
</table>
</td></table>
<br>
Run Code Online (Sandbox Code Playgroud)
有没有办法让输出更简单(没有指定边框,标题,标题等,而不在另一个表中输出表格)?或者这是不是很好?
Bri*_*ggs 19
该xtable
包可以生成HTML输出以及LaTeX输出.
# install.packages("xtable")
library("xtable")
sample_table <- mtcars[1:3,1:3]
print(xtable(sample_table), type="html", file="example.html")
Run Code Online (Sandbox Code Playgroud)
在文件中给出example.html
:
<!-- html table generated in R 3.0.1 by xtable 1.7-1 package -->
<!-- Fri Jul 19 09:08:15 2013 -->
<TABLE border=1>
<TR> <TH> </TH> <TH> mpg </TH> <TH> cyl </TH> <TH> disp </TH> </TR>
<TR> <TD align="right"> Mazda RX4 </TD> <TD align="right"> 21.00 </TD> <TD align="right"> 6.00 </TD> <TD align="right"> 160.00 </TD> </TR>
<TR> <TD align="right"> Mazda RX4 Wag </TD> <TD align="right"> 21.00 </TD> <TD align="right"> 6.00 </TD> <TD align="right"> 160.00 </TD> </TR>
<TR> <TD align="right"> Datsun 710 </TD> <TD align="right"> 22.80 </TD> <TD align="right"> 4.00 </TD> <TD align="right"> 108.00 </TD> </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
这可能有更多的选择,进一步简化xtable
和print.xtable
:
print(xtable(sample_table, align="llll"),
type="html", html.table.attributes="")
Run Code Online (Sandbox Code Playgroud)
给
<!-- html table generated in R 3.0.1 by xtable 1.7-1 package -->
<!-- Fri Jul 19 09:13:33 2013 -->
<TABLE >
<TR> <TH> </TH> <TH> mpg </TH> <TH> cyl </TH> <TH> disp </TH> </TR>
<TR> <TD> Mazda RX4 </TD> <TD> 21.00 </TD> <TD> 6.00 </TD> <TD> 160.00 </TD> </TR>
<TR> <TD> Mazda RX4 Wag </TD> <TD> 21.00 </TD> <TD> 6.00 </TD> <TD> 160.00 </TD> </TR>
<TR> <TD> Datsun 710 </TD> <TD> 22.80 </TD> <TD> 4.00 </TD> <TD> 108.00 </TD> </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
(可以将其定向到带有file
参数的文件,print.xtable
如上例所示.)
您还可以查看tableHTML
为此原因开发的软件包。
library(tableHTML)
mtcars %>%
tableHTML()
Run Code Online (Sandbox Code Playgroud)
并在控制台上打印 HTML:
tableHTML(mtcars[1:2, 1:3]) %>%
print(viewer = FALSE)
# <table style="border-collapse:collapse;" class=table_9302 border=1>
# <thead>
# <tr>
# <th id="tableHTML_header_1"> </th>
# <th id="tableHTML_header_2">mpg</th>
# <th id="tableHTML_header_3">cyl</th>
# <th id="tableHTML_header_4">disp</th>
# </tr>
# </thead>
# <tbody>
# <tr>
# <td id="tableHTML_rownames">Mazda RX4</td>
# <td id="tableHTML_column_1">21</td>
# <td id="tableHTML_column_2">6</td>
# <td id="tableHTML_column_3">160</td>
# </tr>
# <tr>
# <td id="tableHTML_rownames">Mazda RX4 Wag</td>
# <td id="tableHTML_column_1">21</td>
# <td id="tableHTML_column_2">6</td>
# <td id="tableHTML_column_3">160</td>
# </tr>
# </tbody>
# </table>
Run Code Online (Sandbox Code Playgroud)
如果需要,还可以使用add_css_
函数系列通过 CSS 设置表格样式。
软件包和教程(插图)的详细信息在这里
小智 6
to_html_table<-function(dataframe){
tags$table(
tags$thead(tags$tr(lapply(colnames(dataframe), function(x) tags$th(x)))),
tags$tbody(
apply(dataframe,1, function(x) { tags$tr(lapply(x, function(y) tags$td(y)))})
))
}
Run Code Online (Sandbox Code Playgroud)