查找每行的最大值并将其归一化

约兰

有没有一种方法可以根据每行的最大值(最好在dplyr中)对数据帧的许多行进行规范化?

iris我想找到最大的每一行的列Sepal.length,Sepal.width,Petal.length和Petal.width。然后,我想将每个值除以该最大值以得到0到1的范围。我希望能够提供一个范围来查找最大值的列,最好不必按名称调用它们。

输出目标:

> iris
Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
5.1          3.5         1.4          0.2            setosa

> iris.normalized
Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            3.5/5.1     1.4/5.1      0.2/5.1        setosa

我尝试使用该max功能无济于事。我很高兴有任何帮助。

阿克伦

使用base R,用计算每行的最大值pmax,然后除以感兴趣的列以进行缩放

iris[1:4] <-  iris[1:4]/do.call(pmax, iris[1:4])

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章