使用 Hmisc 包中的 latex() 转置 table,从 R 导出到 Latex
Transpose a table, exported from R to Latex with latex() from Hmisc package
我正在尝试将 R 的输出写入 Latex。我希望从 R:
得到很好的格式 table
当我使用 Hmisc 包中的 latex() 函数时,我得到:
如何转置 table,使其成为 2x6 而不是 6x2?我知道在 latex() 函数中必须存在一些参数,但我无法弄清楚。
你应该提供一个 MWE :)
我做的是这个
setwd("/myfolder")
library(Hmisc)
table <- summary(swiss)
table_transpose <- t(table)
latex(table)
latex(table_transpose)
"t"表示转置,适用于矩阵或table
运行 latex()
R 保存了两个 .tex 文件,我必须将它们粘贴到具有 suitable 结构的文件中,否则将无法编译。
这是最终的.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}
这是需要一些修饰的结果
在此处查看更多工具,例如 xtable Tools for making latex tables in R
总结 returns 一个奇怪的字符串,在我看来简直是丑陋的。这是在 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)}
使用函数应用数据return更灵活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
根据上面的@pachamaltese 回答,最终摘要table 应该没有table 中不必要的Min. :
。
我正在尝试将 R 的输出写入 Latex。我希望从 R:
得到很好的格式 table当我使用 Hmisc 包中的 latex() 函数时,我得到:
如何转置 table,使其成为 2x6 而不是 6x2?我知道在 latex() 函数中必须存在一些参数,但我无法弄清楚。
你应该提供一个 MWE :)
我做的是这个
setwd("/myfolder")
library(Hmisc)
table <- summary(swiss)
table_transpose <- t(table)
latex(table)
latex(table_transpose)
"t"表示转置,适用于矩阵或table
运行 latex()
R 保存了两个 .tex 文件,我必须将它们粘贴到具有 suitable 结构的文件中,否则将无法编译。
这是最终的.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}
这是需要一些修饰的结果
在此处查看更多工具,例如 xtable Tools for making latex tables in R
总结 returns 一个奇怪的字符串,在我看来简直是丑陋的。这是在 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)}
使用函数应用数据return更灵活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
根据上面的@pachamaltese 回答,最终摘要table 应该没有table 中不必要的Min. :
。