【发布时间】:2020-06-02 21:37:11
【问题描述】:
我在 R 中有一个简单的数据框 df:
year, var1, var2, var3
1990, 23, 1, 133
1991, 25, 3, 120
1992, 28, 2, 110
...
数据持续数百行。
我想在 R 中使用 apply() 和 top_n() 为 var1、var2、var3 选择前 10 个值,如下所示:
df %>%
select(var1, var2, var3) %>%
apply(2, top_n(10), na.rm = TRUE)
但我得到了错误:
Error in UseMethod("tbl_vars"): no applicable method for "tbl_vars" applied to an object of class "c('double', 'numeric')"
我认为apply 可以帮助我避免使用 for 循环逐个变量地获取前 10 个值,但我无法这样做。
这似乎是一个简单的问题,但我在网上没有找到好的答案。有什么想法吗?
【问题讨论】: