2つのテーブルを1つに結合する

2つのテーブルを1つに結合する

次のように、行数とラベル数が同じ 2 つの別々のテーブルがあります。

1つ:

a  12
b  32 
c  18

二:

a  45 
b  98
c  300

これら 2 つのテーブルを 1 つに結合するにはどうすればよいでしょうか?

a 12 45
b 32 98
c 18 300

エリシェバに感謝

答え1

\pgfplotstablecreatecolからの命令pgfplotstableここでパッケージを使用すると、テーブルの作成時に追加の列を追加できます。

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}
%\pgfplotsset{compat=1.10}

%the following section is just for the example; you can have your actual tables
% in separate external files
\usepackage{filecontents}
\begin{filecontents*}{table1.dat}
name data1
a  12 
b  32 
c  18 
\end{filecontents*}
\begin{filecontents*}{table2.dat}
name data2
a  45 
b  98
c  300
\end{filecontents*}
%%%% end of section %%%%%%%%%%%%%%%

\pgfplotstableread{table1.dat}{\loadedtablei}
\pgfplotstableread{table2.dat}{\loadedtableii}

\pgfplotstablecreatecol[
  copy column from table={\loadedtableii}{[index] 1},
  ]{data2}{\loadedtablei}

\begin{document}

\pgfplotstabletypeset[
  string type,
  every head row/.style={before row=\toprule,after row=\midrule},
  every last row/.style={after row=\bottomrule}
]{\loadedtablei}

\end{document}

ここに画像の説明を入力してください

コードで述べたように、このfilecontents*セクションは単なる例です。たとえば、テーブルを外部の別のファイルに配置したり、実際の.texファイルに配置したりすることができます。

ここでは、より現実的な例を挙げて、手順を段階的に説明します。

  1. table1.dat次のようなファイルを作成します。

    Category Valuea
    {Share Jewish}  0.87
    {Share Muslim}  0.05
    {Share other religion}  0.08
    {Mean age}  33.28 
    {Share born in Israel}  0.69
    {Share work}  0.23
    {Share male}  0.51 
    {Share dis\_21}  0.01 
    {Share dis\_18}  0.00 
    {Share dis\_13}  0.00
    
  2. table2.dat次のようなファイルを作成します。

    Category Valueb
    {Share Jewish}  0.13
    {Share Muslim}  0.51
    {Share other religion}  0.18
    {Mean age}  23.16 
    {Share born in Israel}  0.29
    {Share work}  0.15
    {Share male}  0.33 
    {Share dis\_21}  0.02 
    {Share dis\_18}  0.01 
    {Share dis\_13}  0.01
    

    複数の単語を含むエントリは中括弧を使用してグループ化されていることに注意してください。また、結合されたテーブルの最初の行にいくつかの見出しを指定しました。

  3. これらのファイルを現在の作業ディレクトリ(ファイルと同じディレクトリ.tex)に保存します。

  4. ファイル.texは次の要素を備えている必要があります。

    \documentclass{article}
    \usepackage{pgfplotstable}
    \usepackage{booktabs}
    %\pgfplotsset{compat=1.10}
    
    % Read table1
    \pgfplotstableread{table1.dat}{\loadedtablei}
    % Read table2
    \pgfplotstableread{table2.dat}{\loadedtableii}
    
    % Create additional column for table1 containing
    % second column from table2
    \pgfplotstablecreatecol[
      copy column from table={\loadedtableii}{[index] 1},
      ]{Valueb}{\loadedtablei}
    
    \begin{document}
    
    % Print the merged table
    \pgfplotstabletypeset[
      string type,
      every head row/.style={before row=\toprule,after row=\midrule},
      every last row/.style={after row=\bottomrule}
    ]{\loadedtablei}
    
    \end{document}
    

上記のドキュメントを処理すると、次の結果が生成されます。

ここに画像の説明を入力してください

関連情報