r语言 - 表格::表格可以用于聚合数据吗?



我正在尝试使用表格来制作漂亮的表格。我有汇总数据:

df<-data.frame(
  category=as.factor(c("cat1", "cat1", "cat2","cat2", "cat3")),
  color=as.factor(c("red","yellow", "orange", "red", "green")),
  counts = c(3,21, 24, 5, 97))

我想生成一个对"counts"变量求和的表,而不是计算记录数。 如果我这样做:

tabular(category~(n=1), data=df)

生产:

category n
cat1     2
cat2     2
cat3     1

似乎我需要这样的东西:

tabular(category~(Sum=sum(counts)), data=df)

但是我得到一个错误:

Error in term2table(rows[[i]], cols[[j]], data, n) : 
  Argument 'sum(counts)' is not length 5

感谢您的任何建议。

你可以只使用聚合吗?

> aggregate(counts~category, df, sum)
  category counts
1     cat1     24
2     cat2     29
3     cat3     97

这是一个使用 tidyverse 的选项

library(tidyverse)
df %>% 
  group_by(category) %>% 
  summarise(counts = sum(counts))
# A tibble: 3 x 2    
#    category counts
#    <fctr>  <dbl>
#1     cat1     24
#2     cat2     29
#3     cat3     97

最新更新