我正在尝试使用表格来生成漂亮的表格。我有汇总的数据:
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))
我想生成一个表来计算“计数”变量,而不是计算记录数。如果我这样做:
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
感谢您的任何建议。
答案 0 :(得分:1)
> aggregate(counts~category, df, sum)
category counts
1 cat1 24
2 cat2 29
3 cat3 97
答案 1 :(得分:0)
以下是使用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