r - 我怎样才能使 xtable 与 aggregate(..., FUN = paste) 一起工作?

标签 r latex aggregate xtable

假设我有以下数据框:

df <- data.frame(sector = c(rep('a', 3), rep('b', 4)), id = 1:7)

我想创建一个汇总表来报告每个扇区的 ID 列表,所以我这样做:

table <- xtable(aggregate(id ~ sector, df, paste))

但是,当我尝试使用 xtable() 将上面的对象转换为 LaTeX 时,出现以下错误:

> xtable(table)
Error in is.finite(x) : default method not implemented for type 'list'

这是由第二列引起的,因为 class(table$id) 确认它是一个列表。

需要注意的是,xtable() 可以很好地处理作为输入的数据帧。将“粘贴”更改为更常见的内容,如“总和”或“长度”不会产生错误。

我可以对 table(或 xtable)做些什么来创建我想要的表?所需的原始输出应该看起来像像这样:

\begin{table}[ht]
\centering
\begin{tabular}{rlr}
  \hline
 & sector & id \\ 
  \hline
1 & a &   1, 2, 3 \\ 
  2 & b &  4, 5, 6, 7\\ 
   \hline
\end{tabular}
\end{table}

最佳答案

paste 添加“collapse”参数将会成功:

> xtable(aggregate(id ~ sector, df, paste, collapse=","))
% latex table generated in R 3.0.1 by xtable 1.7-1 package
% Tue Aug  6 11:46:03 2013
\begin{table}[ht]
\centering
\begin{tabular}{rll}
  \hline
 & sector & id \\ 
  \hline
1 & a & 1,2,3 \\ 
  2 & b & 4,5,6,7 \\ 
   \hline
\end{tabular}
\end{table}

关于r - 我怎样才能使 xtable 与 aggregate(..., FUN = paste) 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087882/

相关文章:

r - 扩展列表以包括组内所有可能的成对组合

r - 如何在 Ubuntu 12.04 上将 PATH 设置为 pdfLaTeX

r - Aggregate() 具有更多功能 -

r - 简化多个一对一配对聚合

r - 通过引导、曲线拟合在 ggplot 中可视化多条曲线

r - 在 knitr/Sweave rapports 中着色/突出显示 R ftable() 输出的值

python-3.x - 如何使用 plt.text() 函数在 python3 生成的图中输入特殊符号?

c# - 寻找 .NET 数学方程式编辑器和求解器控件

r - 将多个 csv 文件平均为 r 中的 1 个平均文件

r - 在 Data.Table 的 dcast 中使用比例作为聚合函数