首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转一个表,从R导出到Latex,使用Hmisc包中的latex()

转一个表,从R导出到Latex,使用Hmisc包中的latex()
EN

Stack Overflow用户
提问于 2016-06-22 04:12:11
回答 2查看 1.8K关注 0票数 2

我正在尝试从R写输出到Latex。我希望从R获得格式良好的表:

当我使用Hmisc包中的latex()函数时,我得到了以下内容:

如何将表转到2x6而不是6x2?我知道,在latex()函数中必须存在这样的参数,但我无法确定这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-22 05:29:57

摘要返回一个奇怪的字符串,在我看来,这个字符串非常难看。下面是在表中获得类似摘要输出的另一种方法:

代码语言:javascript
复制
summ <- function(x){
    tmp<-quantile(x, c(0,.25,.5,.75,1))
    names(tmp)<-c("Min", "1st Qu.", "Median", "3rd Qu.", "Max")
    return(tmp)}

使用函数应用数据以返回更灵活的data.frame:

代码语言:javascript
复制
t(sapply(swiss, summ) )

                   Min 1st Qu. Median 3rd Qu.   Max
Fertility        35.00  64.700  70.40  78.450  92.5
Agriculture       1.20  35.900  54.10  67.650  89.7
Examination       3.00  12.000  16.00  22.000  37.0
Education         1.00   6.000   8.00  12.000  53.0
Catholic          2.15   5.195  15.14  93.125 100.0
Infant.Mortality 10.80  18.150  20.00  21.700  26.6

对于上面的@pachamaltese回答,最后的汇总表应该不包含表中的未完成的Min. :

票数 2
EN

Stack Overflow用户

发布于 2016-06-22 05:14:44

你应该提供一个MWE :)

我所做的就是

代码语言:javascript
复制
setwd("/myfolder")    
library(Hmisc)
table <- summary(swiss)
table_transpose <- t(table)

latex(table)
latex(table_transpose)

"t“指的是转置,它适用于矩阵或表。

运行latex()后,R保存两个.tex文件,我必须将它们粘贴到一个具有适当结构的文件中,否则它不会编译。

这是最后一个.tex

代码语言:javascript
复制
\documentclass[12pt,letterpaper,landscape]{article}
\leftmargin=0.25in
\oddsidemargin=0.25in
\textwidth=6.0in
\topmargin=-0.9in
\textheight=9.25in
\usepackage[margin=1in]{geometry}

\begin{document}

\begin{table}[!tbp]
\begin{center}
\begin{tabular}{lllllll}
\hline\hline
\multicolumn{1}{l}{table}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}\tabularnewline
\hline
  Fertility&Min.   :35.00  &1st Qu.:64.70  &Median :70.40  &Mean   :70.14  &3rd Qu.:78.45  &Max.   :92.50  \tabularnewline
 Agriculture&Min.   : 1.20  &1st Qu.:35.90  &Median :54.10  &Mean   :50.66  &3rd Qu.:67.65  &Max.   :89.70  \tabularnewline
 Examination&Min.   : 3.00  &1st Qu.:12.00  &Median :16.00  &Mean   :16.49  &3rd Qu.:22.00  &Max.   :37.00  \tabularnewline
  Education&Min.   : 1.00  &1st Qu.: 6.00  &Median : 8.00  &Mean   :10.98  &3rd Qu.:12.00  &Max.   :53.00  \tabularnewline
   Catholic&Min.   :  2.150  &1st Qu.:  5.195  &Median : 15.140  &Mean   : 41.144  &3rd Qu.: 93.125  &Max.   :100.000  \tabularnewline
Infant.Mortality&Min.   :10.80  &1st Qu.:18.15  &Median :20.00  &Mean   :19.94  &3rd Qu.:21.70  &Max.   :26.60  \tabularnewline
\hline
\end{tabular}\end{center}
\end{table}

\begin{table}[!tbp]
\begin{center}
\begin{tabular}{lllllll}
\hline\hline
\multicolumn{1}{l}{summary}&\multicolumn{1}{c}{  Fertility}&\multicolumn{1}{c}{ Agriculture}&\multicolumn{1}{c}{ Examination}&\multicolumn{1}{c}{  Education}&\multicolumn{1}{c}{   Catholic}&\multicolumn{1}{c}{Infant.Mortality}\tabularnewline
\hline
&Min.   :35.00  &Min.   : 1.20  &Min.   : 3.00  &Min.   : 1.00  &Min.   :  2.150  &Min.   :10.80  \tabularnewline
&1st Qu.:64.70  &1st Qu.:35.90  &1st Qu.:12.00  &1st Qu.: 6.00  &1st Qu.:  5.195  &1st Qu.:18.15  \tabularnewline
&Median :70.40  &Median :54.10  &Median :16.00  &Median : 8.00  &Median : 15.140  &Median :20.00  \tabularnewline
&Mean   :70.14  &Mean   :50.66  &Mean   :16.49  &Mean   :10.98  &Mean   : 41.144  &Mean   :19.94  \tabularnewline
&3rd Qu.:78.45  &3rd Qu.:67.65  &3rd Qu.:22.00  &3rd Qu.:12.00  &3rd Qu.: 93.125  &3rd Qu.:21.70  \tabularnewline
&Max.   :92.50  &Max.   :89.70  &Max.   :37.00  &Max.   :53.00  &Max.   :100.000  &Max.   :26.60  \tabularnewline
\hline
\end{tabular}\end{center}
\end{table}

\end{document}

这就是需要化妆的结果

在这里查看更多像xtable Tools for making latex tables in R这样的工具

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37958415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档