如何使用 dplyr 计算列中出现的次数
How to count the number of occurences in a column using dplyr
我正在尝试计算单个列中出现的次数。这是我正在使用的 df 的一个片段:
这是我目前的代码:
my_df$day <- weekdays(as.Date(my_df$deadline))
most_common_day <- my_df %>%
arrange(day) %>%
filter(day == "Friday") %>%
select(day)
所以主要目标是获取哪个工作日最常见。有什么建议吗?
在R中统计出现次数有多种方法,基本的R方法是table()
:
table(my_df$day)
# Friday Monday Saturday Sunday Thursday Tuesday Wednesday
# 4 6 8 11 6 5 10
dplyr 方法可以与 count()
:
count(my_df, day)
# day n
#1 Friday 4
#2 Monday 6
#3 Saturday 8
#4 Sunday 11
#5 Thursday 6
#6 Tuesday 5
#7 Wednesday 10
您也可以使用 dplyr 中的 tally()
,但您还需要 group_by()
:
my_df %>% group_by(day) %>% tally
# day n
#1 Friday 4
#2 Monday 6
#3 Saturday 8
#4 Sunday 11
#5 Thursday 6
#6 Tuesday 5
#7 Wednesday 10
要获得最个普通日,您可以:
# when using table()
names(table(my_df$day))[table(my_df$day) == max(table(my_df$day))]
#[1] "Sunday"
# when using count()
count(my_df, day) %>% slice_max(n)
# day n
#1 Sunday 11
# when using tally()
my_df %>% group_by(day) %>% tally %>% slice_max(n)
## A tibble: 1 x 2
# day n
# <fct> <int>
#1 Sunday 11
我正在尝试计算单个列中出现的次数。这是我正在使用的 df 的一个片段:
这是我目前的代码:
my_df$day <- weekdays(as.Date(my_df$deadline))
most_common_day <- my_df %>%
arrange(day) %>%
filter(day == "Friday") %>%
select(day)
所以主要目标是获取哪个工作日最常见。有什么建议吗?
在R中统计出现次数有多种方法,基本的R方法是table()
:
table(my_df$day)
# Friday Monday Saturday Sunday Thursday Tuesday Wednesday
# 4 6 8 11 6 5 10
dplyr 方法可以与 count()
:
count(my_df, day)
# day n
#1 Friday 4
#2 Monday 6
#3 Saturday 8
#4 Sunday 11
#5 Thursday 6
#6 Tuesday 5
#7 Wednesday 10
您也可以使用 dplyr 中的 tally()
,但您还需要 group_by()
:
my_df %>% group_by(day) %>% tally
# day n
#1 Friday 4
#2 Monday 6
#3 Saturday 8
#4 Sunday 11
#5 Thursday 6
#6 Tuesday 5
#7 Wednesday 10
要获得最个普通日,您可以:
# when using table()
names(table(my_df$day))[table(my_df$day) == max(table(my_df$day))]
#[1] "Sunday"
# when using count()
count(my_df, day) %>% slice_max(n)
# day n
#1 Sunday 11
# when using tally()
my_df %>% group_by(day) %>% tally %>% slice_max(n)
## A tibble: 1 x 2
# day n
# <fct> <int>
#1 Sunday 11