我正在尝试使用表格来制作漂亮的表格。我有汇总数据:
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