我想总结每组 df 中的top_n值,但我遇到了错误 . 我想在执行此过程时保留其他列,所以 summarise 函数对我来说不是优选的!

set.seed(123)
df<- data.frame(
  x   = runif(60),
  grp = gl(6, 10)
) 

#        x          grp
#    1  0.28757752   1
#    2  0.78830514   1
#    3  0.40897692   1
#    4  0.88301740   1
#    5  0.94046728   1
#    6  0.04555650   1
#    7  0.52810549   1
#    8  0.89241904   1
#    9  0.55143501   1
#    10 0.45661474   1
#    11 0.95683335   2

  df_top <- df%>%
      group_by(grp)%>%
      mutate(top_x=top_n(x,5))

eval中的错误(替换(expr),envir,enclos):没有适用于'tbl_vars'的方法应用于类“c('double','numeric')的对象”

关键是我想在添加 top_x 列后完全保留x列 . 我怎样才能做到这一点?