【发布时间】:2019-09-19 19:12:47
【问题描述】:
我想使用函数 slice() 选择名为 dat 的数据集的最后五行。我试过 slice(dat, 5L) 但它只返回一行。我还能尝试什么?
【问题讨论】:
-
只需使用基本函数
tail,这正是它的设计目的
我想使用函数 slice() 选择名为 dat 的数据集的最后五行。我试过 slice(dat, 5L) 但它只返回一行。我还能尝试什么?
【问题讨论】:
tail,这正是它的设计目的
slice 需要一个索引向量来返回那么多行。根据?slice
... - 整数行值。提供要保留的正值或要删除的负值。提供的值必须全部为正或全部为负。超出输入行数的索引会被忽略。
。在这里,我们可以通过row_number() 和tail 来获取最后5 个row_numbers
library(dplyr)
df1 %>%
slice(tail(row_number(), 5))
【讨论】:
FIY,slice 默默删除行名:
mtcars %>% slice((n()-4):n())
如果你想避免这种情况,只需使用tail:
tail(mtcars, 5)
【讨论】:
dplyr 函数,而不仅仅是这个
这应该可以解决问题
library(dplyr)
mtcars %>% slice((n()-4):n())
【讨论】: