【Tidyverse优雅编程】Excel每n行增加1个汇总行

问题来自 tidy-R 群:
Excel数据,想每隔 4 行,增加一个取最小的汇总行
适合用【分组+分组就地修改】,三行代码就能搞定。
就不演示读写Excel了,直接用 iris
数据集演示:

可见,第5行、第10行,即是增加的取min
汇总行。
【解释说明】:
(1)先生成一列重复 4 次的序号,用来控制分组。rep()
中的1:n()
这样写有冗余,但不影响结果,向量长度是 length.out=n()
控制的;
(2)group_modify()
是用在分组数据框上,分别对每组(子数据框)做就地修改:
其(第2个)参数是要用于每组的修改函数:~ rbind(.x, apply(.x, 2, min))
该函数将数据本身,再按行合并上一行:apply
按列取min
得到的行向量。
附录
我主张的数据编程思维:

我的 R 语言新书:《R语言编程:基于tidyverse》
https://zhuanlan.zhihu.com/p/198185888
已经进入出版流程,预计 22年夏 能与读者见面。更多相关资源请参阅:
https://zhuanlan.zhihu.com/p/467134727