我有一个随机的,有时不经常发生的事件的数据集,我想把它们算作每周的总和.由于随机性,它们不是线性的,所以到目前为止我try 过的其他例子不适用.

数据与此类似:


df_date <- data.frame( Name = c("Jim","Jim","Jim","Jim","Jim","Jim","Jim","Jim","Jim","Jim",
                                "Sue","Sue","Sue","Sue","Sue","Sue","Sue","Sue","Sue","Sue"),
                       Dates = c("2010-1-1", "2010-1-2", "2010-01-5","2010-01-17","2010-01-20",
                                 "2010-01-29","2010-02-6","2010-02-9","2010-02-16","2010-02-28",
                                 "2010-1-1", "2010-1-2", "2010-01-5","2010-01-17","2010-01-20",
                                 "2010-01-29","2010-02-6","2010-02-9","2010-02-16","2010-02-28"),
                       Event = c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) )

我想做的是创建一个新表,其中包含日历年中每周的事件总数.

在这种情况下,产生如下内容:

Name   Week   Events
Jim    1      3
Sue    1      3
Jim    2      0
Sue    x ...  x 

and so on...

推荐答案

Update OP request for multiple years:

我们也可以使用lubridate中的isoweek,而不是week

OR:

我们可以将年份添加如下:

df_date %>% 
  as_tibble() %>% 
  mutate(Week = week(ymd(Dates))) %>% 
  mutate(Year = year(ymd(Dates))) %>% 
  count(Name, Year, Week)

我们可以使用lubridateSymd函数将Dates字符转换为日期格式后使用lubridateSWeek函数.

library(dplyr)
library(lubridate)
df_date %>% 
  as_tibble() %>% 
  mutate(Week = week(ymd(Dates))) %>% 
  count(Name, Week)
  Name   Week     n
   <chr> <dbl> <int>
 1 Jim       1     3
 2 Jim       3     2
 3 Jim       5     1
 4 Jim       6     2
 5 Jim       7     1
 6 Jim       9     1
 7 Sue       1     3
 8 Sue       3     2
 9 Sue       5     1
10 Sue       6     2
11 Sue       7     1
12 Sue       9     1

R相关问答推荐

如何根据包含相同值的某些列获取总额

在通过最大似然估计将ODE模型与数据匹配时,为什么要匹配实际参数的转换值?

如何在ggplot 2线性图的每个方面显示每个组的误差条?

从嵌套列表中智能提取线性模型系数

R箱形图gplot 2 4组但6个参数

在组中添加值增加和减少的行

如何在一次运行中使用count进行多列计数

如何在分组条形图中移动相关列?

仅在Facet_WRAP()中的相应方面包含geom_abline()

将一个字符串向量调整为与其他字符串向量完全相同的大小

按多列统计频次

R:用GGPLATE,如何在两个独立的变量中制作不同形状的散点图?

如何在反曲线图中更改X标签

我如何使用循环来编写冗余的Rmarkdown脚本?

如果条件匹配,则使用Mariate粘贴列名

当由base::限定时,`[.factor`引发NextMethod错误

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)

将字符变量出现次数不相等的字符框整形为pivot_wider,而不删除重复名称或嵌套字符变量

从多行中 Select 最小值

如何将数据框压缩为更宽,同时将行输入保持为行输入,而不是R中的列名?