使用dplyr按组计算每个块?

场210

如何使用dplyr软件包获得预期的计算?

row value   group   expected
1   2       1       =NA
2   4       1       =4-2
3   5       1       =5-4
4   6       2       =NA
5   11      2       =11-6
6   12      1       =NA
7   15      1       =15-12

我试过了

df=read.table(header=1, text='    row    value  group
1   2   1
2   4   1
3   5   1
4   6   2
5   11  2
6   12  1
7   15  1')

df %>% group_by(group) %>% mutate(expected=value-lag(value))

尽管行1-3和6-7被标记为相同的组号,我如何为每个块(行1-3、4-5、6-7)计算?

爵士乐

这是一种类似的方法。我使用创建了一个新的组变量cumsum每当in中两个数字之间的差group不为0时,R就会分配一个新的组号。如果您有更多数据,此方法可能会有所帮助。

library(dplyr)

mutate(df, foo = cumsum(c(T, diff(group) != 0))) %>%
group_by(foo) %>%
mutate(out = value - lag(value))

#  row value group foo out
#1   1     2     1   1  NA
#2   2     4     1   1   2
#3   3     5     1   1   1
#4   4     6     2   2  NA
#5   5    11     2   2   5
#6   6    12     1   3  NA
#7   7    15     1   3   3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用dplyr按组计算平均时差

来自分类Dev

dplyr按组计算分数

来自分类Dev

使用dplyr在R中按组计算统计检验

来自分类Dev

使用dplyr在R中按组计算统计检验

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

使用dplyr按组获取累计计数

来自分类Dev

dplyr使用累积方法按组汇总

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

如何使用dplyr按组进行子集

来自分类Dev

使用 dplyr 按组创建子集

来自分类Dev

使用 dplyr 计算组总数的相对频率

来自分类Dev

按组计算dplyr中具有先前值的字段

来自分类Dev

如何计算每个组的总数按mysql的设置分类

来自分类Dev

使用dplyr按年计算比例

来自分类Dev

dplyr:计算组权重

来自分类Dev

dplyr安排-按另一列对组进行排序,然后在每个组内进行排序

来自分类Dev

使用dplyr为每个组应用ggplot-function并为每个组设置标题

来自分类Dev

如何使用dplyr获取每个组的主要案例?

来自分类Dev

当我尝试使用dplyr按组求和时,为什么dplyr忽略了我的组?

来自分类Dev

使用dplyr按组更改变量值

来自分类Dev

使用dplyr按组连接字符串

来自分类Dev

使用dplyr的sample_n函数按组进行采样

来自分类Dev

按组查找插值,也许使用dplyr

来自分类Dev

使用dplyr在特定组中按变量拆分

来自分类Dev

R:使用dplyr按组对前几年进行t检验

来自分类Dev

如何使用SQL计算每个组中的行数?

来自分类Dev

使用dplyr,计算每个班级中的非数字成绩

来自分类Dev

按组排名变量(dplyr)

来自分类Dev

使用Mongo按组计算多个不同的字段