如何使用summarise()创建一个等效于ggplot + geom_count()的两个变量的数值计数表?

时间:2019-05-17 23:13:07

标签: r dplyr

The black dots represent count number. Because the dot size is not clear, a table with numerical values is desirable.

ggplot(data, aes(x, y))+ geom_count()

提供了一个图表,显示每个[x,y]情况的计数。如果x中有4个值,y中有6个值,则geom_count将在一个图中显示24个圆圈,每个圆圈的大小代表计数。

如何使用summarise()或dplyr中的任何其他函数类似地创建两个变量的计数表?对于每种[x,y]情况,此表将计数显示为数字,而不是geom_count()中的圆圈大小。

1 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow。根据您的评论,我认为您正在寻找这样的东西:

library(tidyverse)

df <-
  mpg %>% 
  mutate(
    x = cyl,
    y = drv
  )


df %>% 
  # create a column called n for number of times x & y occur together
  count(x, y) %>% 
  # create columns for each unique value of y and 
  # put the values of column n below
  spread(key = y, value = n, fill = 0) 

#     x   `4`     f     r
# ------------------------
#     4    23    58     0
#     5     0     4     0
#     6    32    43     4
#     8    48     1    21