다음과 같이 행과 레이블 수가 동일한 두 개의 별도 테이블이 있습니다.
하나:
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
파일에 포함할 수 있습니다.
다음은 절차를 단계별로 설명하는 보다 실제적인 예입니다.
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
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
두 개 이상의 단어가 포함된 항목은 중괄호를 사용하여 그룹화됩니다. 또한 병합된 테이블의 첫 번째 행에 몇 가지 제목을 제공했습니다.
이 파일을 현재 작업 디렉터리(
.tex
파일이 포함된 디렉터리와 동일)에 저장하세요.파일
.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}
위 문서를 처리하면 다음이 생성됩니다.