热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用dplyr中的一个mutate_across函数进行减法和除法

我有一个看起来像虹膜数据集的数据集。 Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 5.1

我有一个看起来像虹膜数据集的数据集。

Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

我想跨越 Sepal.Length:Petal.Width 用数字2减去每个值,然后将结果除以4。如何在 dplyr 中使用 mutate_across 而不是两行在一行中执行此操作?

iris %>%
mutate(across(c(Sepal.Length:Petal.Width), ~. -2 )) %>%
mutate(across(c(Sepal.Length:Petal.Width), ~. /4 ))

回答

library(dplyr, warn.cOnflicts= F)
iris %>%
mutate(across(1:4, ~ (. - 2)/4))
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1 0.775 0.375 -0.150 -0.450 setosa
#> 2 0.725 0.250 -0.150 -0.450 setosa
#> 3 0.675 0.300 -0.175 -0.450 setosa
#> 4 0.650 0.275 -0.125 -0.450 setosa
#> 5 0.750 0.400 -0.150 -0.450 setosa
#> 6 0.850 0.475 -0.075 -0.400 setosa
#> 7 0.650 0.350 -0.150 -0.425 setosa
#> 8 0.750 0.350 -0.125 -0.450 setosa
#> 9 0.600 0.225 -0.150 -0.450 setosa
#> 10 0.725 0.275 -0.125 -0.475 setosa
.
.

由reprex 包( v2.0.0 )于 2021 年 7 月 6 日创建






推荐阅读
author-avatar
宋雨甄_938
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有