R Dataframe - 如何计算某一行的行数?

时间:2018-03-28 16:55:40

标签: r dataframe

我目前的数据看起来像这样:

datetime.strptime

数据仅包括星期六和星期日,因此它不连续(例如,缺少前一个星期日和下一个星期六/工作日开始之间的数据)。每个周末的数据数量各不相同,因此我需要计算每个星期六星期日集中的观察数量。假设数据在星期六到星期日开始,然后再次进入下一组星期六到星期日,我如何计算每组数据并将其存储在向量中?

编辑:例如,使用上面的数据,我想要的输出将是包含以下值的向量:[9,6,3]

2 个答案:

答案 0 :(得分:2)

使用dplyr解决方案,其中V2是您当前的天数列:

library(dplyr)
df %>%
  mutate(x = lag(cumsum((V2 == 'Sunday' & lead(V2) == 'Saturday')), default = 0)) %>%
  group_by(x) %>%
  summarise(z = n()) %>%
  select(z)

这会产生

      z
  <int>
1     9
2     6
3     3

答案 1 :(得分:0)

我喜欢使用包data.table来做这样的事情。以下是一个例子。

sort()