如何将每个 0.0 更改为而--
不必引用每个string type
或制作整个表格string type
?实际表格很长,手动执行会花费太长时间。出于同样的原因,如果表格中没有大量的零,可读性将得到显着改善。
最终表格看起来应该是这样的
Flow Bibble Bobble Gumph
Extant 1 2 3
Intant -- 4 5
My sainted aunt -- 6 7
例如使用下面的 MWE,
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset[columns/Flow/.style={string type,column type={l}},ignore chars={\^^M},col sep=&,row sep=\\]{
<<results='asis',echo=FALSE>>=
someStuff=read.table(textConnection("
Flow, Bibble , Bobble , Gumph
Extant, 1, 2, 3
Intant, 0.0 , 4, 5
My sainted aunt, 0.0, 6, 7),header=F,sep=",")
print(xtable(someStuff),include.rownames=F,include.colnames=F,hline.after=NULL,only.contents=T)
@
}
\end{document}
答案1
我不知道这是否适用于 knitr,但其他一般情况可以通过先清空@cell content
不需要的条目,然后用所需的结果对空单元格进行后处理来处理。另一个例子可以在根据参数类型调整命令行为
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.8,%supress warnings
table/zero to dash/.style={
preproc cell content/.code={%
\pgfkeysgetvalue{/pgfplots/table/@unprocessed cell content}\pgfmathresult%
\pgfmathparse{(\pgfmathresult==0?int(1):int(0))}
\ifnum\pgfmathresult>0\pgfkeyssetvalue{/pgfplots/table/@cell content}{}\fi
},
empty cells with={--}% If empty place --
}
}
\begin{document}
\pgfplotstabletypeset[columns={Flow,Bibble,Bobble,Gumph},% declare column names
columns/Flow/.style={string type,column type={l}},
columns/Bibble/.style={
zero to dash,
},
col sep=comma
]{
Flow, Bibble, Bobble, Gumph
Extant, 1 , 2, 3
Intant, 0.0 , 4, 5
My sainted aunt, 0.0 , 6, 7
}
\end{document}