2

我有一些代码用于在 Knitr 中制作表格。我手动输入了一些数字以使代码可重现。

Expenditure <- as.matrix(data.frame(c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84"),c("41","55","71","84")))
rownames(Expenditure) <- c("30000","40000","50000","60000")
colnames(Expenditure) <- as.character(seq(0,0.35,0.05)*100)
latex(Expenditure,
      n.cgroup=c(8), cgroup=c("Largest Historical Drawdown"),
      file="", 
      ctable=TRUE, caption="Shortfall Risk Table", caption.loc=c('top'), label="tab:SfRisk")

这给出了以下乳胶代码:

%latex.default(Expenditure, n.cgroup = c(8), cgroup = c("Largest Historical Drawdown"),     file = "", ctable = TRUE, caption = "Shortfall Risk Table",     caption.loc = c("top"), label = "tab:SfRisk")%
\ctable[caption={Shortfall Risk Table}label=tab:SfRisk,pos=!tbp,]{lllllllll}{}{\FL
\multicolumn{1}{l}{\bfseries Expenditure}&\multicolumn{8}{c}{\bfseries Largest Historical Drawdown}\NN
\cline{2-9}
\multicolumn{1}{l}{}&\multicolumn{1}{c}{0}&\multicolumn{1}{c}{5}&\multicolumn{1}{c}{10}&\multicolumn{1}{c}{15}&\multicolumn{1}{c}{20}&\multicolumn{1}{c}{25}&\multicolumn{1}{c}{30}&\multicolumn{1}{c}{35}\ML
30000&41&41&41&41&41&41&41&41\NN
40000&55&55&55&55&55&55&55&55\NN
50000&71&71&71&71&71&71&71&71\NN
60000&84&84&84&84&84&84&84&84\LL
}

这会生成一个 Latex 表格,但标题末尾添加了“标签”一词,因此它显示“短缺风险表格标签”。“Tablelabel”一词不会出现在 .tex 文档中的任何位置。我已经寻找解决方案,但我找不到任何东西。非常感谢任何帮助!

显然,我无法发布图片,因为我没有足够高的“声誉”。所以我在johnbutters.org/examples上放了一个

4

1 回答 1

2

根据 cbeleites 的评论,这是来自 latex() 函数的 ctable 代码的问题。解决方案是使用“ctable=FALSE”。这仍然给出了稍微奇怪的输出行:“\caption{Shortfall Risk Table\label{tab:SfRisk}}”,但最终输出看起来不错。

于 2014-03-17T10:51:29.550 回答