R中的max()函数给出错误的输出

时间:2020-05-04 06:53:58

标签: r

我对R很陌生,所以我可能缺少明显的东西。 我使用R研究了一些数据帧。我也尝试提供一些虚拟数据,但是有了虚拟数据,它突然起作用了,并且我使用的数据很大。也许有人可以帮助我。

我用“ Wavelength”和“ Absorbance”列创建了一个名为haemasc的数据框,并想知道我的Absorbance峰值在哪里,所以我这样写:

haemasc[which(haem$Absorbance==max(haem$Absorbance)),]

为我提供以下输出:

        Wavelength   Absorbance
109            408        1.647

这是完全错误的,我已经手动检查过,并且该峰值位于波长409的第110行中,其值为1.653(请参见下图)1

奇怪的是,它适用于我正在研究的其他数据框以及我的虚拟数据,所以我真的不知道出了什么问题。

1 个答案:

答案 0 :(得分:2)

您能检查max(haem$Absorbance)本身返回哪一行吗?您可以尝试sort(haem$Absorbance, decreasing=TRUE)并查看顺序吗?对于您的问题,您还可以使用which.max返回最大值的索引。

最后-当which(haem$Absorbance==max(haem$Absorbance))返回最大值haem$Absorbance的索引时,您正在另一个data.frame haemasc中查找该索引。 / p>

嗯,今天是星期一,我们都去过那里。 :)