Esta es la respuesta más completa que te podemos compartir, pero estúdiala detenidamente y analiza si se puede adaptar a tu proyecto.
En caso de que no lo sepa, puede agregar un tercer nivel de encabezados:
TableForm[Table[
x + y, x - y, x, 5, y, 5],
TableHeadings -> Table[x, x, 10], Table[y, y, 10],x+y,x-y]
Desafortunadamente, el resultado no es satisfactorio:
te puede interesar este truco:
fileName=CreateTemporary[];
st=OpenWrite[fileName,FormatType-> OutputForm];
Write[st,TableForm[
Table[x + y, x - y, x, 5, y, 5],
TableHeadings -> Table[x, x, 5], Table[y, y, 5],x+y,x-y,
TableAlignments-> Right,Top,Right],
];
Close[st];
Import[fileName]
Editar
O mejor, gracias al comentario de Alexey Popkov:
[email protected][TableForm[
Table[x+y,x-y,x,5,y,5],
TableHeadings->Table[x,x,5],Table[y,y,5],x+y,x-y,
TableAlignments->Right,Top,Right],OutputForm]
Editar (19 de agosto de 2019)
He puesto en esta sala de chat, al principio, el código para una función flatTableForm[]
que hace lo que necesitas (entre otras cosas).
flatTableForm[Table[x + y, x - y, x, 10, y, 10],
TableHeadings -> Table[x, x, 10],
Table[y, y, 10], x + y, x - y]
Es fácil agregar una fila horizontal de encabezados. Puedes usar Prepend
para agregar encabezados verticales a los datos reales y luego usar Grid
con Dividers
:
Grid[
" ", "x y", Sequence @@ Table[x, x, 10],
Sequence @@ MapThread[Prepend /* Flatten,
Table[Column[x + y, x - y], x, 10, y, 10],
Table[Column["x+y", "x-y"], x, x, 10]
]
,
Dividers -> 2 -> True, 3 -> True, 2 -> True]
Eres capaz de sustentar nuestra labor escribiendo un comentario y dejando una valoración te damos las gracias.