从数据框中提取具有最小值或最大值的行

时间:2020-04-01 14:50:06

标签: r dataframe subset extract min

我正在为https://bioinformatics-core-shared-training.github.io/r-crash-course/crash-course.nb.html上的R速成课程

我面临的问题是提取特定值的最小或最大行。

例如,运行

df[df$tmp ==min(df$tmp),]

我得到了具有期望值的正确行。

但是,在运行以下代码时

df[min(df$tmp),]

我完全得到了其他东西。

我想知道是什么原因导致这种差异吗?

2 个答案:

答案 0 :(得分:0)

假设df$Tmp是没有NA的数字,则min(df$Tmp)应该返回一个数字。假设数字是整数,则i df[min(df$Tmp),]将返回数据帧的第i行,假设您的数据帧的第i行为行。

另一方面,df[df$Tmp ==min(df$tmp),]将返回df的行,其中df$Tmp等于该列中的最小值。

答案 1 :(得分:0)

df[df$Tmp ==min(df$tmp),]是获取所需内容的正确方法。

df[min(df$Tmp),]返回df中等于min(df$Tmp)的行。在某些情况下,例如可能会导致错误。 min(df$Tmp)不是整数,或者是负数,或者大于df中的行数等。希望这是有道理的。

相关问题