¡H! Tengo una matriz de correlación de 14x14 variables, bastante grande. Si inserto mi matriz de correlación en Latex y ajusto la tabla al tamaño de la página con begin{adjustbox}{widt=\textwith}
, la tabla se imprime extremadamente pequeña y ya no es agradable de leer.
¿Cómo puedo dividir la matriz de correlación en 2 tablas una al lado de la otra? Entonces, por ejemplo, ¿primero una tabla de las primeras variables de 7x7 y luego, más allá, las segundas variables de 7x7?
Este es mi código de la tabla:
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{adjustbox}{width=\textwidth}
\begin{tabular}{@{\extracolsep{5pt}} ccccccccccccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& roap & id & size & age & listed & source & country & gics20 & gics25 & gics30 & gics40 & gics45 & gics50 & gics60 \\
\hline \\[-1.8ex]
roap & $1$ & $0.265$ & $0.360$ & $$-$0.222$ & $0.077$ & $0.202$ & $$-$0.032$ & $$-$0.206$ & $0.268$ & $0.019$ & $$-$0.376$ & $0.310$ & $0.109$ & $$-$0.009$ \\
id & $0.265$ & $1$ & $0.385$ & $0.029$ & $$-$0.194$ & $$-$0.036$ & $$-$0.239$ & $$-$0.163$ & $0.114$ & $0.321$ & $$-$0.176$ & $0.102$ & $$-$0.014$ & $$-$0.358$ \\
size & $0.360$ & $0.385$ & $1$ & $0.126$ & $0.326$ & $$-$0.121$ & $$-$0.151$ & $$-$0.048$ & $0.138$ & $$-$0.150$ & $$-$0.033$ & $0.466$ & $$-$0.103$ & $$-$0.149$ \\
age & $$-$0.222$ & $0.029$ & $0.126$ & $1$ & $0.150$ & $$-$0.362$ & $$-$0.141$ & $$-$0.010$ & $$-$0.110$ & $$-$0.043$ & $0.488$ & $$-$0.103$ & $$-$0.181$ & $$-$0.127$ \\
listed & $0.077$ & $$-$0.194$ & $0.326$ & $0.150$ & $1$ & $0.014$ & $$-$0.134$ & $0.013$ & $0.167$ & $$-$0.560$ & $0.211$ & $0.217$ & $0.133$ & $$-$0.002$ \\
source & $0.202$ & $$-$0.036$ & $$-$0.121$ & $$-$0.362$ & $0.014$ & $1$ & $0.335$ & $0.164$ & $0.188$ & $$-$0.023$ & $$-$0.561$ & $0.041$ & $0.156$ & $0.100$ \\
country & $$-$0.032$ & $$-$0.239$ & $$-$0.151$ & $$-$0.141$ & $$-$0.134$ & $0.335$ & $1$ & $0.216$ & $$-$0.214$ & $0.139$ & $$-$0.104$ & $$-$0.037$ & $$-$0.135$ & $0.141$ \\
gics20 & $$-$0.206$ & $$-$0.163$ & $$-$0.048$ & $$-$0.010$ & $0.013$ & $0.164$ & $0.216$ & $1$ & $$-$0.182$ & $$-$0.269$ & $$-$0.202$ & $$-$0.124$ & $$-$0.208$ & $$-$0.097$ \\
gics25 & $0.268$ & $0.114$ & $0.138$ & $$-$0.110$ & $0.167$ & $0.188$ & $$-$0.214$ & $$-$0.182$ & $1$ & $$-$0.229$ & $$-$0.172$ & $$-$0.106$ & $$-$0.177$ & $$-$0.083$ \\
gics30 & $0.019$ & $0.321$ & $$-$0.150$ & $$-$0.043$ & $$-$0.560$ & $$-$0.023$ & $0.139$ & $$-$0.269$ & $$-$0.229$ & $1$ & $$-$0.253$ & $$-$0.156$ & $$-$0.261$ & $$-$0.122$ \\
gics40 & $$-$0.376$ & $$-$0.176$ & $$-$0.033$ & $0.488$ & $0.211$ & $$-$0.561$ & $$-$0.104$ & $$-$0.202$ & $$-$0.172$ & $$-$0.253$ & $1$ & $$-$0.117$ & $$-$0.196$ & $$-$0.091$ \\
gics45 & $0.310$ & $0.102$ & $0.466$ & $$-$0.103$ & $0.217$ & $0.041$ & $$-$0.037$ & $$-$0.124$ & $$-$0.106$ & $$-$0.156$ & $$-$0.117$ & $1$ & $$-$0.121$ & $$-$0.056$ \\
gics50 & $0.109$ & $$-$0.014$ & $$-$0.103$ & $$-$0.181$ & $0.133$ & $0.156$ & $$-$0.135$ & $$-$0.208$ & $$-$0.177$ & $$-$0.261$ & $$-$0.196$ & $$-$0.121$ & $1$ & $$-$0.094$ \\
gics60 & $$-$0.009$ & $$-$0.358$ & $$-$0.149$ & $$-$0.127$ & $$-$0.002$ & $0.100$ & $0.141$ & $$-$0.097$ & $$-$0.083$ & $$-$0.122$ & $$-$0.091$ & $$-$0.056$ & $$-$0.094$ & $1$ \\
\hline \\[-1.8ex]
\end{tabular}
\end{adjustbox}
\end{table}
Y se imprime de la siguiente manera:
¿Alguna sugerencia? ¡Gracias por tu ayuda!
Respuesta1
Como habrás descubierto, el uso \adjustbox
no tiende a generar resultados utilizables, al menos no cuando se intenta crear tablas atractivas. Te sugiero que hagas lo siguiente en su lugar:
mostrar la tabla en formato horizontal, utilizando el
sidewaystable
entorno delrotating
paquete;utilice un
tabular*
entorno para garantizar que la tabla encaje dentro del bloque de texto;utilice el
S
tipo de columna delsiunitx
paquete para alinear los números en sus respectivos marcadores decimales explícitos o implícitos; yutilice las macros del
booktabs
paquete --\toprule
,\midrule
,\bottomrule
-- en lugar de\hline
generar líneas horizontales bien espaciadas. Opcionalmente, use\addlinespace
directivas (también proporcionadas por elbooktabs
paquete) para insertar un poco de espacio en blanco después de cada quinta fila aproximadamente.
\documentclass{article}
\usepackage{booktabs,siunitx,rotating}
\begin{document}
\begin{sidewaystable}
\setlength\tabcolsep{0pt} % make LaTeX figure out the intercolumn whitespace amount
\caption{} \label{}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{14}{S[table-format=-1.3]} }
\toprule
& {roap} & {id} & {size} & {age} & {listed} & {source} & {country} & {gics20} & {gics25} & {gics30} & {gics40} & {gics45} & {gics50} & {gics60} \\
\midrule
roap & 1 & 0.265 & 0.360 & -0.222 & 0.077 & 0.202 & -0.032 & -0.206 & 0.268 & 0.019 & -0.376 & 0.310 & 0.109 & -0.009 \\
id & 0.265 & 1 & 0.385 & 0.029 & -0.194 & -0.036 & -0.239 & -0.163 & 0.114 & 0.321 & -0.176 & 0.102 & -0.014 & -0.358 \\
size & 0.360 & 0.385 & 1 & 0.126 & 0.326 & -0.121 & -0.151 & -0.048 & 0.138 & -0.150 & -0.033 & 0.466 & -0.103 & -0.149 \\
age & -0.222 & 0.029 & 0.126 & 1 & 0.150 & -0.362 & -0.141 & -0.010 & -0.110 & -0.043 & 0.488 & -0.103 & -0.181 & -0.127 \\
listed & 0.077 & -0.194 & 0.326 & 0.150 & 1 & 0.014 & -0.134 & 0.013 & 0.167 & -0.560 & 0.211 & 0.217 & 0.133 & -0.002 \\ \addlinespace % optional
source & 0.202 & -0.036 & -0.121 & -0.362 & 0.014 & 1 & 0.335 & 0.164 & 0.188 & -0.023 & -0.561 & 0.041 & 0.156 & 0.100 \\
country & -0.032 & -0.239 & -0.151 & -0.141 & -0.134 & 0.335 & 1 & 0.216 & -0.214 & 0.139 & -0.104 & -0.037 & -0.135 & 0.141 \\
gics20 & -0.206 & -0.163 & -0.048 & -0.010 & 0.013 & 0.164 & 0.216 & 1 & -0.182 & -0.269 & -0.202 & -0.124 & -0.208 & -0.097 \\
gics25 & 0.268 & 0.114 & 0.138 & -0.110 & 0.167 & 0.188 & -0.214 & -0.182 & 1 & -0.229 & -0.172 & -0.106 & -0.177 & -0.083 \\
gics30 & 0.019 & 0.321 & -0.150 & -0.043 & -0.560 & -0.023 & 0.139 & -0.269 & -0.229 & 1 & -0.253 & -0.156 & -0.261 & -0.122 \\ \addlinespace % optional
gics40 & -0.376 & -0.176 & -0.033 & 0.488 & 0.211 & -0.561 & -0.104 & -0.202 & -0.172 & -0.253 & 1 & -0.117 & -0.196 & -0.091 \\
gics45 & 0.310 & 0.102 & 0.466 & -0.103 & 0.217 & 0.041 & -0.037 & -0.124 & -0.106 & -0.156 & -0.117 & 1 & -0.121 & -0.056 \\
gics50 & 0.109 & -0.014 & -0.103 & -0.181 & 0.133 & 0.156 & -0.135 & -0.208 & -0.177 & -0.261 & -0.196 & -0.121 & 1 & -0.094 \\
gics60 & -0.009 & -0.358 & -0.149 & -0.127 & -0.002 & 0.100 & 0.141 & -0.097 & -0.083 & -0.122 & -0.091 & -0.056 & -0.094 & 1 \\
\bottomrule
\end{tabular*}
\end{sidewaystable}
\end{document}
Apéndice: Si los márgenes de página de su documento tienen como máximo 1" de ancho, en realidad es posible mostrar la matriz de correlación en modo vertical siempre que muestre solo dos dígitos en lugar de tres después del marcador decimal. En comparación con el código anterior, todo lo que necesita Lo que tendría que hacer es (a) cambiar de a sidewaystable
a un entorno normal table
, y (b) indicarle a Latex que redondee los números en las 14 columnas de datos a 2 dígitos; esto último se puede lograr fácilmente ejecutando la instrucción;
\sisetup{round-mode=places,round-precision=2}
en la cima del table
entorno. No es necesario cambiar todos los demás elementos, como el uso del S
tipo de columna para columnas de datos y de un entorno.tabular*
\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry} % set page margins suitably
\usepackage{booktabs,siunitx}
\begin{document}
\begin{table} % <-- new: 'table' instead of 'sidewaystable'
\sisetup{round-mode=places,round-precision=2} % <-- new
\setlength\tabcolsep{0pt}
\caption{\strut} \label{}
% Change 'S[table-format=-1.3]' to 'S[table-format=-1.2]':
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{14}{S[table-format=-1.2]} }
\toprule
& {roap} & {id} & {size} & {age} & {listed} & {source} & {country} & {gics20} & {gics25} & {gics30} & {gics40} & {gics45} & {gics50} & {gics60} \\
\midrule
roap & 1 & 0.265 & 0.360 & -0.222 & 0.077 & 0.202 & -0.032 & -0.206 & 0.268 & 0.019 & -0.376 & 0.310 & 0.109 & -0.009 \\
id & 0.265 & 1 & 0.385 & 0.029 & -0.194 & -0.036 & -0.239 & -0.163 & 0.114 & 0.321 & -0.176 & 0.102 & -0.014 & -0.358 \\
size & 0.360 & 0.385 & 1 & 0.126 & 0.326 & -0.121 & -0.151 & -0.048 & 0.138 & -0.150 & -0.033 & 0.466 & -0.103 & -0.149 \\
age & -0.222 & 0.029 & 0.126 & 1 & 0.150 & -0.362 & -0.141 & -0.010 & -0.110 & -0.043 & 0.488 & -0.103 & -0.181 & -0.127 \\
listed & 0.077 & -0.194 & 0.326 & 0.150 & 1 & 0.014 & -0.134 & 0.013 & 0.167 & -0.560 & 0.211 & 0.217 & 0.133 & -0.002 \\ \addlinespace
source & 0.202 & -0.036 & -0.121 & -0.362 & 0.014 & 1 & 0.335 & 0.164 & 0.188 & -0.023 & -0.561 & 0.041 & 0.156 & 0.100 \\
country & -0.032 & -0.239 & -0.151 & -0.141 & -0.134 & 0.335 & 1 & 0.216 & -0.214 & 0.139 & -0.104 & -0.037 & -0.135 & 0.141 \\
gics20 & -0.206 & -0.163 & -0.048 & -0.010 & 0.013 & 0.164 & 0.216 & 1 & -0.182 & -0.269 & -0.202 & -0.124 & -0.208 & -0.097 \\
gics25 & 0.268 & 0.114 & 0.138 & -0.110 & 0.167 & 0.188 & -0.214 & -0.182 & 1 & -0.229 & -0.172 & -0.106 & -0.177 & -0.083 \\
gics30 & 0.019 & 0.321 & -0.150 & -0.043 & -0.560 & -0.023 & 0.139 & -0.269 & -0.229 & 1 & -0.253 & -0.156 & -0.261 & -0.122 \\ \addlinespace
gics40 & -0.376 & -0.176 & -0.033 & 0.488 & 0.211 & -0.561 & -0.104 & -0.202 & -0.172 & -0.253 & 1 & -0.117 & -0.196 & -0.091 \\
gics45 & 0.310 & 0.102 & 0.466 & -0.103 & 0.217 & 0.041 & -0.037 & -0.124 & -0.106 & -0.156 & -0.117 & 1 & -0.121 & -0.056 \\
gics50 & 0.109 & -0.014 & -0.103 & -0.181 & 0.133 & 0.156 & -0.135 & -0.208 & -0.177 & -0.261 & -0.196 & -0.121 & 1 & -0.094 \\
gics60 & -0.009 & -0.358 & -0.149 & -0.127 & -0.002 & 0.100 & 0.141 & -0.097 & -0.083 & -0.122 & -0.091 & -0.056 & -0.094 & 1 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}