我正在为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),]
我完全得到了其他东西。
我想知道是什么原因导致这种差异吗?
答案 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
中的行数等。希望这是有道理的。