简体   繁体   English

转置表格,使用Hmisc包中的latex()从R导出到Latex

[英]Transpose a table, exported from R to Latex with latex() from Hmisc package

I am trying to write output from R to Latex. 我正在尝试将R的输出写入Latex。 I expect to get nicely formatted table from R: 我希望从R获得格式正确的表:

生的

When I use latex() function from Hmisc package, I get this: 当我使用Hmisc包中的latex()函数时,得到以下信息:

在此处输入图片说明

How can I transpose the table, making it 2x6 instead of 6x2? 我如何转置表格,使其变成2x6而不是6x2? I know that there must exist some parameter for this in latex() function, but I can not figure this out. 我知道latex()函数中必须存在一些参数,但是我无法弄清楚。

Summary returns a weird character string that is just plain ugly in my opinion. 摘要返回一个奇怪的字符串,在我看来这很难看。 Here's an alternative for getting similar summary output in a table: 这是在表中获取类似的摘要输出的一种替代方法:

summ <- function(x){
    tmp<-quantile(x, c(0,.25,.5,.75,1))
    names(tmp)<-c("Min", "1st Qu.", "Median", "3rd Qu.", "Max")
    return(tmp)}

Sapply data with the function to return more flexible data.frame: 使用此函数应用数据以返回更灵活的data.frame:

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

With @pachamaltese answer above, the final summary table should be free of the unncessary Min. : 使用上面的@pachamaltese答案,最终摘要表应没有不必要的Min. : Min. : within the table. Min. :在表格内。

You should provide a MWE :) 您应该提供一个MWE :)

What I did is this 我做的是这个

setwd("/myfolder")    
library(Hmisc)
table <- summary(swiss)
table_transpose <- t(table)

latex(table)
latex(table_transpose)

"t" means transpose and it is applicable to a matrix or a table “ t”表示转置,适用于矩阵或表格

After running latex() R saves two .tex files that I have to paste in a file with a suitable structure or it won't compile. 运行latex() R保存两个.tex文件,这些文件必须粘贴到具有适当结构的文件中,否则将无法编译。

This is the final .tex 这是最终的.tex

\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}

And this is the result that needs some makeup 这是需要化妆的结果

在此处输入图片说明

Check here for more tools like xtable Tools for making latex tables in R 在这里查看更多工具,例如xtable, 用于在R中制作乳胶表的工具

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM