R:计算组内的百分比

R:计算组内的百分比,r,dplyr,tidyverse,R,Dplyr,Tidyverse,我有两个调查机构a+B在很长一段时间(几年)内进行的访谈列表,以及相应的日期变量: date_of_interview institute -------------------------- 2021-04-01 A 2021-04-01 A 2021-04-02 A 2021-04-02 A 2021-04-02 A 2021-04-02 B 2021-04-02 B 2021-

我有两个调查机构a+B在很长一段时间(几年)内进行的访谈列表,以及相应的日期变量:

date_of_interview  institute
--------------------------
2021-04-01         A
2021-04-01         A
2021-04-02         A
2021-04-02         A
2021-04-02         A
2021-04-02         B
2021-04-02         B
2021-04-02         B
etc.

所有面试应在工作日(周一至周五)平均分配。为了检查这一点,我想在x轴上创建以下带有时间变量的图形(从1-52开始的日历周):


据我所知,你希望每个方面都是一个研究所,每个方面的每个小组都是一个工作日,而填充则是工作日本身。如果我误解了你的意思,你可以根据你的要求把它们混在一起

library(dplyr)
library(ggplot2)

df <- df %>% 
  mutate(
    week = format(date_of_interview, "%V"),
    weekday = format(date_of_interview, "%u"),
    .keep='unused'
  ) %>% 
  group_by(institute, week, weekday) %>% 
  summarise(n = n()) %>% 
  mutate(freq = n / sum(n), .keep='unused') %>% 
  ungroup()
  
ggplot(df, aes(x=week, y=freq, fill=weekday)) + 
  geom_bar(stat='identity') +
  facet_wrap(institute ~.)
库(dplyr)
图书馆(GG2)
df%
变异(
周=格式(面谈日期,“%V”),
工作日=格式(面谈日期,“%u”),
.保持“未使用”
) %>% 
分组依据(机构、周、工作日)%>%
总结(n=n())%>%
变异(freq=n/和(n),.keep='unused')%>%
解组()
ggplot(df,aes(x=周,y=频率,fill=工作日))+
几何图形栏(stat='identity')+
面_包装(研究所~)
我在这个数据帧上进行了测试:

df <- data.frame(
  date_of_interview = as.Date(c(
    '2021-04-01', '2021-04-01', '2021-04-02', '2021-04-02', 
    '2021-04-02', '2021-04-02', '2021-04-02', '2021-04-02', 
    '2021-04-09', '2021-04-10', '2021-04-11')),
  institute = c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A')
)

df但是y轴表示什么?y轴表示一周内每天的百分比。虚线区域可以是星期三,例如:如果研究所A在星期一进行了20次面试,在第一周进行了100次面试,那么该字段应该是20%,因此幸运的是,我按
操作翻转了
组,从研究所开始,然后是星期,然后是工作日。如果这是你需要的,请告诉我。
df <- data.frame(
  date_of_interview = as.Date(c(
    '2021-04-01', '2021-04-01', '2021-04-02', '2021-04-02', 
    '2021-04-02', '2021-04-02', '2021-04-02', '2021-04-02', 
    '2021-04-09', '2021-04-10', '2021-04-11')),
  institute = c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A')
)