使用mtcars,我想对am,齿轮和carb进行计数。前几行看起来像这样:
am gear carb
1 4 4
1 4 4
1 4 1
0 3 1
0 3 2
0 3 1
0 3 4
0 4 2
0 4 2
我想获得如下所示的输出:
am gear carb Count
0 3 1 2
0 3 2 1
0 3 4 1
0 4 2 2
1 4 1 1
1 4 4 2
表和ctable(summarytools)在将所有数字都用尽的地方做了一些奇怪的事情,这不是我想要的。
谢谢
答案 0 :(得分:1)
我们可以使用count
library(dplyr)
df1 %>%
count(am, gear, carb)
# A tibble: 6 x 4
# am gear carb n
# <int> <int> <int> <int>
#1 0 3 1 2
#2 0 3 2 1
#3 0 3 4 1
#4 0 4 2 2
#5 1 4 1 1
#6 1 4 4 2
或
df1 %>%
group_by_all() %>%
summarise(Count = n())
df1 <- structure(list(am = c(1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L), gear = c(4L,
4L, 4L, 3L, 3L, 3L, 3L, 4L, 4L), carb = c(4L, 4L, 1L, 1L, 2L,
1L, 4L, 2L, 2L)), class = "data.frame", row.names = c(NA, -9L
))
答案 1 :(得分:0)
使用基数R,您也可以执行以下操作:
as.data.frame(table(df1))
并过滤不存在的组合:
freqs <- as.data.frame(table(df1))
freqs[freqs$Freq > 0,]