我无法理解 dplyr 的 top_n 函数的输出。有人可以帮忙吗?
n=10
df = data.frame(ref=sample(letters,n),score=rnorm(n))
require(dplyr)
print(dplyr::top_n(df,5,score))
print(df[order(df$score,decreasing = T)[1:5],])
Run Code Online (Sandbox Code Playgroud)
的输出top_n没有按照我预期的分数排序。与使用order函数比较
参考分数 1 我 0.71556494 2 p 0.04463846 3 v 0.37290990 4 克 1.53206194 5 f 0.86307107 参考分数 7 克 1.53206194 10 英尺 0.86307107 1 我 0.71556494 6 v 0.37290990 4 p 0.04463846
我读过的文档也暗示top_n结果应该按指定的列排序,例如
https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf