두 테이블을 하나로 병합

두 테이블을 하나로 병합

다음과 같이 행과 레이블 수가 동일한 두 개의 별도 테이블이 있습니다.

하나:

a  12
b  32 
c  18

둘:

a  45 
b  98
c  300

이 두 테이블을 하나로 결합하려면 어떻게 해야 합니까? 다음과 같이:

a 12 45
b 32 98
c 18 300

Elisheva에게 감사드립니다

답변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}
    

위 문서를 처리하면 다음이 생성됩니다.

여기에 이미지 설명을 입력하세요

관련 정보