欢迎光临散文网 会员登陆 & 注册

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

2022-05-23 20:28 作者:张敬信老师  | 我要投稿

问题来自 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


【Tidyverse优雅编程】Excel每n行增加1个汇总行的评论 (共 条)

分享到微博请遵守国家法律