按组查找滚动周期内的计数或频率
这是我的数据:
Person<-c("Bob","Bob","Bob","Bob","Mary","Mary","Mary","Mary","Sue","Sue","Sue","Sue")
Year<-c(1980,1981,1982,1983,1980,1981,1982,1983,1980,1981,1982,1983)
Attendance<-c(1,1,0,0,1,1,1,0,0,0,1,0)
data<-as.data.frame(cbind(Person,Year,Attendance))
data
Person Year Attendance
Bob 1980 1
Bob 1981 1
Bob 1982 0
Bob 1983 0
Mary 1980 1
Mary 1981 1
Mary 1982 1
Mary 1983 0
Sue 1980 0
Sue 1981 0
Sue 1982 1
Sue 1983 0
我想使用Tidyverse/dplyr创建一个表,该表显示了每个人在两年期间的出勤率。像这样:
Person Two_year_period Frequency_attendance
Bob 1980-1981 100%
Bob 1981-1982 50%
Bob 1982-1983 0%
Mary 1980-1981 100%
Mary 1981-1982 100%
Mary 1982-1983 50%
Sue 1980-1981 0%
Sue 1981-1982 50%
Sue 1982-1983 50%
Here's my data:
Person<-c("Bob","Bob","Bob","Bob","Mary","Mary","Mary","Mary","Sue","Sue","Sue","Sue")
Year<-c(1980,1981,1982,1983,1980,1981,1982,1983,1980,1981,1982,1983)
Attendance<-c(1,1,0,0,1,1,1,0,0,0,1,0)
data<-as.data.frame(cbind(Person,Year,Attendance))
data
Person Year Attendance
Bob 1980 1
Bob 1981 1
Bob 1982 0
Bob 1983 0
Mary 1980 1
Mary 1981 1
Mary 1982 1
Mary 1983 0
Sue 1980 0
Sue 1981 0
Sue 1982 1
Sue 1983 0
I would like to create a table using tidyverse/dplyr that shows the frequency of attendance for each person over rolling two-year periods. Like this:
Person Two_year_period Frequency_attendance
Bob 1980-1981 100%
Bob 1981-1982 50%
Bob 1982-1983 0%
Mary 1980-1981 100%
Mary 1981-1982 100%
Mary 1982-1983 50%
Sue 1980-1981 0%
Sue 1981-1982 50%
Sue 1982-1983 50%
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是使用dplyr的解决方案:
Here's a solution using dplyr: